画图板

1、画图工具:

Graphics

需要在哪个组件上绘图,哪个组件就获取Graphics

例如:窗体组件获取Graphics

//添加监听器:

DrawListener DrawL=new DrawListener();

frame.addMouseListener(DrawL);

frame.setVisible(true);

//以下部分要写在Visible下面

Graphics g=frame.getGraphics();

DrawL.setG(g);

System.out.println("g");

2、创建监听器:

public class DrawListener implements MouseListener{

int x1,x2,y1,y2;
Graphics g;

public void setG(Graphics g){
this.g=g;
}
public void mouseClicked(MouseEvent e){
System.out.println("点击");
}

public void mousePressed(MouseEvent e){

x1=e.getX();
y1=e.getY();

public void mouseReleased(MouseEvent e){

x2=e.getX();
y2=e.getY();

g.setColor(Color.blue);
g.fillRect(Math.min(x1, x2), Math.min(y1, y2), Math.abs(x2-x1),Math.abs(y2-y1));       坐标:(0,0)向右x增大,向下y增大
g.setColor(Color.YELLOW);
g.fillOval(Math.min(x1, x2), Math.min(y1, y2), Math.abs(x2-x1), Math.abs(y2-y1));
g.setColor(Color.red);
g.drawLine(x1, y1, x2, y2);
g.drawLine(x1, y2, x2, y1);
g.drawLine((x1+x2)/2, y1, (x1+x2)/2, y2);
g.drawLine(x1, (y1+y2)/2, x2,(y1+y2)/2 );


}

public void mouseEntered(MouseEvent e){
System.out.println("进入");
}

public void mouseExited(MouseEvent e){
System.out.println("离开");
}

}

时间: 2024-10-15 02:59:40

画图板的相关文章

很值得学习的java 画图板源码

很值得学习的java 画图板源码下载地址:http://download.csdn.net/source/2371150 package minidrawpad; import java.awt.*; import java.awt.event.*; import java.io.InputStreamReader; import java.io.Reader; import javax.swing.*; // 主界面类 public class DrawPad extends JFrame i

Java版简易画图板的实现

Windows的画图板相信很多人都用过,这次我们就来讲讲Java版本的简易画板的实现. 基本的思路是这样的:画板实现大致分三部分:一是画板界面的实现,二是画板的监听以及画图的实现,三是画板的重绘.(文章较长,但是代码是逐步递进的,可以按三部分分开来看,实现了当前部分再去看下一部分.)首先是画板的界面实现,因为我没有去找具体的图标,界面上的所有组件都是Swing的自带组件,所以界面略微有点简陋,不过如果想要优化也简单,把界面上的组件都改成自定义的图标即可.界面实现后,就可以考虑给界面的组件加上监听

H TML5 之 (5) 一个在线画图板

这里加入了点难度了,增加了对HTML很多时间的把握,对象的把握 index.html <!DOCTYPE HTML> <html> <head> <title>Paint</title> <meta charset="gbk" /> <link type="text/css" href="canvas.css" rel="stylesheet"/&g

android画图板,可将内容保存为图片

画图板,可通过直线或填充的方式进行绘画,可以设置画笔的颜色,粗细,并能够将绘制的内容保存为jpg文件(保存位置为sdcard/huaban) 下载地址: http://www.dwz.cn/zbOoL     

JAVA 仿XP画图板的总结

仿XP画图板是我接触JAVA以来的第二个项目.总得来说是比较成功的,不足是还有一些功能没有实现,之后有时间会慢慢完善. 话不多说,先上成果图(源码在最下面会附上链接): 可以看到,做的画图板已经实现了直线,矩形,椭圆,圆角矩形,多边形,刷子,喷漆,橡皮等基本功能,28种颜色可供选择.上方的菜单栏功能还没有开发~~ 如何做到这一个画图板呢?接下来是我画图板的制作过程: 1 . 画图板界面框架 我将整个框架分为五个部位,主界面面板,菜单栏部位,画图板面板,工具栏面板,颜色选择面板: 主界面:先实例化

iOS开发之画图板(贝塞尔曲线)

贝塞尔曲线,听着挺牛气一词,不过下面我们在做画图板的时候就用到贝塞尔绘直线,没用到绘制曲线的功能.如果会点PS的小伙伴会对贝塞尔曲线有更直观的理解.这篇博文的重点不在于如何用使用贝塞尔曲线,而是利用贝塞尔划线的功能来封装一个画图板. 画图板的截图如下,上面的白板就是我们的画图板,是自己封装好的一个UIView,下面会详细的介绍如何封装这个画图板,下面的控件用来控制我们画图板的属性以及Undo,Redo和保存功能.点击保存时会把绘制的图片保存到手机的相册中.下面是具体的实现方案. 一.封装画图板

iOS开发核心动画之画图板

1. 效果图 2. 用一个View来描述画图板,给画图板添加拖动的手势 // 从xib中加载 - (void)awakeFromNib { [self setUpGesture]; } // 代码创建 - (instancetype)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { [self setUpGesture]; } return self; } // 初始化添加拖动手势 - (void)se

Android笔记二十九. 一款简易画图板开发

一款简易画图板开发 转载请表明出处:http://blog.csdn.net/u012637501(嵌入式_小J的天空) 一.画图板原理 1.直线效果 画图板表面上看起来可以随用户在触摸屏上自由的绘制任意图形,但是实际上当用户在触摸屏上移动时,两次拖动事件发生点的距离很小,多条极短的直线连接起来我们肉眼看起来就是直接了.在触摸屏绘制图形时,每条直线都是从上一次拖动事件发生点画到本次拖动事件的发生点,可以借助于Android提供的Path类来实现.然后,如果程序每次都是从上次拖动事件的发生点绘一条

Qt图形库——Qt画图板

Qt图形库--Qt画图板 完整代码: //mainwindows.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QColorDialog> #include <QInputDialog> #include <QActionGroup> #include <QFileDialog> #include <QMainWindow> #include <QKeyEvent> #in

Swift-贝赛尔曲线实现画图板 &amp;&amp; 截图保存到相册中

本文内容参考自 传送门.原文是用 OC 写的,我把它改成了 Swift 的. 我们先来看看效果图: 第一幅图是我们画了一个 "iOS" 的图像,第二幅图是我们点击保存成功,第三幅图是可以在相册中看到我们刚才画的图. 感觉很不错有木有?接下来我们就来说说是怎么实现的. 我们分两部分来说:上半部分的画图板和下半部分的控制区. 上半部分的画图板是我们自定义的 view,我们设置如下属性: class MyView: UIView { var color = UIColor.redColor(