JAVA简单画板程序设计实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
J A V A简单画板程序设计
实验报告
Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】
JAVA期末画板实验报告
课程题目:
运用JAVA语言编写一个画板程序,这个画板要有画图,特殊图形绘制,颜色改变,画笔大小改变等功能。
设计思想:
1.进行界面设计
2.进行算法实现
3.运行调试
4.总结问题
设计过程:
A.界面设计
B.新建一个Jframe容器,然后定义一个panel( Panel convas2),
convas2是工具栏。用borderlayout布置容器的边框布局,将工具栏放在NORTH部分。完成界面设计。
add(canvas2,;
Panel canvas2 = new Panel();
添加工具按键
Panel canvas2 = new Panel();
Button btn1 = new Button("直线");
Button btn2 = new Button("椭圆");
Button btn3 = new Button("矩形");
Button btn4 = new Button("清除");
Button btn5 = new Button("画笔");
Button btn6 = new Button("橡皮");
Choice choice = new Choice();
Choice choice1 = new Choice();
(choice);
(choice1);
(btn1);
(btn2);
(btn3);
(btn4);
(btn5);
(btn6);
在工具表中,有两个下拉菜单,分别收录画笔的大小和颜色。
1.画笔的大小:
("1");
("3");
("5");
("7");
("9");
2.画笔颜色
("黑色");
("蓝色");
("红色");
("黄色");
("绿色");
3展示画板
C.算法实现
运用画板,首先要对工具栏按键和鼠标进行监听,然后对监听进行响应。运行相应程序进行画图
1.监听程序展示:
(this);
(this);
(this);
(this);
(this);
(this);
(this);
(this);
addMouseListener(this);
addMouseMotionListener(this);
2.按键监听响应
监听到按键后,判断当前会话工具
public void actionPerformed(ActionEvent e) { if().equals(btn1))
{
a='1';
}
if().equals(btn2))
{
a='2';
}
if().equals(btn3))
{
a='3';
}
if().equals(btn4))
{
Graphics g = ();
(0, 0, (), ());
}
if().equals(btn5))
{
a='4';
}
if().equals(btn6))
{
a='5';
}
}
定义一个变量a,对按键监听进行响应,例如当监听到btn1时赋值a=‘1’(a为char型),即当前工具为直线。但是当监听到btn4时不进行对a赋值而是直接进行清除操作,由于清除操作是对画布进行清除,不参与鼠标事件,因此可以直接执行。
3.鼠标监听响应
a.鼠标按钮按下事件,获取画图起始坐标x0,y0.
public void mousePressed(MouseEvent e)
{
x0=();
y0=();
}
b.鼠标移动事件
public void mouseMoved(MouseEvent e){
}
c.鼠标按钮松开事件,此次响应完成对直线,椭圆,矩形进行绘
制。
p ublic void mouseReleased(MouseEvent e)
{
Graphics2D g = (Graphics2D)();
size=new BasicStroke(con,,;
(b);
(size);
switch(a)
{
case'1':
(x0, y0, (), ());
break;
case'2':
(x0, y0, () - x0, () - y0);
break;
case'3':
(x0, y0, () - x0, () - y0);
break;
}
}
d.鼠标进入事件:
public void mouseEntered(MouseEvent e){}
e.鼠标离开事件:
public void mouseExited(MouseEvent e){}
• f.鼠标单击事件:
public void mouseClicked(MouseEvent e){}
g.鼠标拖动事件:此次响应实现画笔(随笔画),橡皮的绘制。。
public void mouseDragged(MouseEvent e) {
Graphics2D g = (Graphics2D)();
size=new BasicStroke(con,,;
(b);
(size);
switch(a)