模拟画图-

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6.Circle类:绘制圆;
7.fillCircle类:绘制实心圆;
8.RoundRect:绘制圆角矩形;
9.fillRoundRect类:绘制实心圆角矩形;
10.Pencil类:自由笔;
11.Rect3D类:绘制3D矩形;
12.fillRect3D类:绘制实现3D矩形;
13.Cube类:绘制立方体;
需求分析
2.1
考虑到画图板的实际需要,画图板要实现打开、保存图片,用于打开本地图片或保存当前图片至本地;选择需要绘制的图形,用于选择需要绘制的图形样式,如直线、矩形、椭圆等;设置背景色、画笔色以及画笔大小,用于设置画板背景颜色、画笔颜色和当前画笔粗细;擦除错误操作;显示帮助信息等。
2.2
本软件开发平台:Java SE
publicvoidmousePressed(MouseEvent e) {
if(e.getModifiers() == InputEvent.BUTTON3_MASK)
ToolMenu.show(buttonPanel, e.getX(), e.getY());
}
});
move.addActionListener(newActionListener() {
4.3.2
图4.3.1工具栏界面
4.3.3
工具栏按钮图标:
items=newImageIcon[names.length];
//创建各种基本图形的按钮
choices=newJButton[names.length];
buttonPanel=newJToolBar( JToolBar.VERTICAL);
1.文件菜单:
图 4.2.1 文件菜单
2.编辑菜单:
图 4.2.3 编辑菜单
3.设置菜单:
图 4.2.3 设置菜单
4.帮助菜单:
图 4.2.4 帮助菜单
5.打开文件窗口:
图 4.2.5 打开窗口
6.画笔颜色选择:
图 4.2.6画笔颜色选择
7.画笔大小设置:
图 4.2.7设置画笔大小
8.立方体宽度设置:
3.2.2
图 3.2.1 画图板总体结构图
3.2.3
(1)Paint类
Paint类为主类,定义main方法;
(2)MyPaint类
MyPaint类继承JFrame类,用于实现画图板的总体构架。包括菜单栏设计、工具栏设计、画图区创建、鼠标事件等等。画图板的基本功能都靠MyPaint类来实现。
(3)DrawPanel类
14.Rubber类:橡皮类;
15.Word类:文本类;
详细设计与实现
4.1
4.1.1
画图板的主界面分为菜单栏、工具栏、画图区、状态栏四部分。其中,菜单栏实现了图片的打开、新建、保存等操作;工具栏实现了画笔的各种操作;画图区实现了图片的操作面板;状态栏实现了显示鼠标当前状态。
4.1.2
画图板的主界面如图所示,在主类中加载了系统风格,使其界面更为美观;为工具栏和工具栏按钮添加了颜色,使画图板颜色不单调;为画图板得主窗口设置图标,使画图板更有个性。在实现画图功能的基础上使其外观更为人性化。
//导入图形图标,图标存放在项目文件夹下的Icons目录内
for(inti=0;i<choices.length;i++){
items[i]=newImageIcon("Icons/"+names[i]+".gif");
choices[i]=newJButton(items[i]);
choices[i].setToolTipText(tipText[i]);
1.3
日常生活、学习中我们经常需要画图,简单的画图我们可以手工画图,但往往还是不能满足需求。因此,借助计算机准确而快速的画图就十分有必要了。好的画图工具能够很好的完成日常生活中的各种画图工作。
学习了Java语言后设计开发一个画图软件是对Java语言学习的巩固以及提高。能够在实践中更深的理解面向对象语言,同时提高了解决问题的能力。
DrawPanel来是MyPaint类的内部类,是用来画图的。
(4)drawings类
drawings类是画图类,基本图形的单元。其各个子类用以实现画各种图形包括以下几个子类:
1.Line类:绘制直线;
2.Rect类:绘制矩形;
3.fillRect:绘制实心矩形;
4.Oval类:绘制ຫໍສະໝຸດ Baidu圆;
5.fillOval类:绘制实心椭圆;
4.5.1状态栏功能设计.............................................................................................11
4.5.2状态栏设计.....................................................................................................11
repaint();
index++;
createNewItem();
图4.2.8 设置立方体宽度
9.“关于画图板”帮助:
图4.2.9关于画图板
4.3
4.3.1
工具栏是一系列快捷操作的按钮,分别是:新建、打开、保存、自由画笔、直线、空心矩形、实心矩形、空心椭圆、实心椭圆、圆、实心圆、空心圆角矩形、实心圆角矩形、3D矩形、3D矩形、3D长方体、橡皮、设置背景色、画笔颜色、画笔粗细、添加文字,用来实现相应的功能。另外还为工具栏设置了按钮图片和鼠标右击事件,右击鼠标可以设置工具栏是否可拖动。
choices[i].setBackground(newColor(0,255,0));//按钮背景色设置
buttonPanel.add(choices[i]);
}
鼠标右击事件:
//工具栏右击菜单,设置工具栏是否可拖动
voidToolMenu() {
finalJPopupMenu ToolMenu;
画图区的设计:对图片的编辑处理区。
工具栏的设计:根据实际需要选择不同的工具完成画图操作。
其他功能设计。
3.2
3.2.1
本软件可以绘制日常生活、学习中的一般图形。软件主要有菜单栏、工具栏、画图区组成,菜单栏具有新建、打开、保存等常见的功能;工具栏可以选择用户需要的图形样式、设置参数、插入文本等操作;画图区就是简单绘图区域,用户在画图区可自由绘制图形。右击工具栏可设置工具是否可拖动。还可以根据不同的需要设置背景色,画笔大小、画笔颜色。能够在任意点添加文字并设置文字样式和字体。
背景色:
setBackground(newColor(0,255,0));
4.2
4.2.1
菜单栏包括文件、编辑、设置、帮助四部分。其中,文件菜单实现了新建、打开、保存、退出功能;编辑菜单实现了撤销和恢复功能;设置菜单实现了画笔颜色、画笔大小和立方体宽度的设置;帮助菜单实现了关于画图板的帮助信息;
4.2.2
ToolMenu =newJPopupMenu();
finalJCheckBox move =newJCheckBox("工具栏是否可拖动");
move.setBackground(newColor(0, 255, 0));
ToolMenu.add(move);
buttonPanel.addMouseListener(newMouseAdapter() {
publicvoidactionPerformed(ActionEvent e) {
if(move.isSelected()) {
buttonPanel.setFloatable(true);
}else{
buttonPanel.setFloatable(false);
}
}
});
}
4.4
4.4.1
画图区可以绘制各种图形,可以进行擦除操作,还可以根据实际需要添加文本。
4.5.3状态栏代码.....................................................................................................11
5课设总结...............................................................................................................................12
buttonPanel=newJToolBar( JToolBar.HORIZONTAL);
ButtonHandler handler=newButtonHandler();
ButtonHandler1 handler1=newButtonHandler1();
buttonPanel.setBackground(newColor(0,255,0));//工具栏背景色设置
4.4.2
图4.4.1画图界面
4.5
4.5.1
状态栏是显示鼠标的状态的信息栏,随时反馈鼠标信息。
4.5.2
图4.5.1状态栏显示
4.5.3
部分代码如下,详细代码见附录:
publicvoidmouseReleased(MouseEvent e){
statusBar.setText("鼠标松开:["+e.getX()+","+e.getY()+"]");
if(currentChoice==3||currentChoice==16){
itemList[index].x1=e.getX();
itemList[index].y1=e.getY();
}
itemList[index].x2=e.getX();
itemList[index].y2=e.getY();
本软件集成开发环境:MyEclipse9.1
本软件运行环境:Windowsxp或以上版本
总体设计
1.1
3.1.1
菜单栏的设计及功能实现:菜单栏主要包括文件、编辑、设置、帮助等常见菜单。其中文件菜单有新建、打开、保存、另存为、退出等功能;编辑菜单有撤销、恢复等功能;设置菜单含有对画笔颜色、画笔大小等的设置功能;帮助菜单提供画图板的帮助信息。
图 4.1.1 主界面图
4.1.3
设置窗体图标:
Toolkitkit=Toolkit.getDefaultToolkit();//获取Toolkit实例
Imageimage=kit.getImage("Icons/Title.jpg");//获取图片setIconImage(image);//设置窗体图标
JAVA课程设计
学校:沈阳理工大学
学院:信息科学与工程学院
设计题目:模拟画图
学号:1103050405
姓名:于茜
目 录
4.5状态栏......................................................................................................................11
参考文献..................................................................................................................................12
附录..................................................................................................................................13
源程序清单................................................................................................................13
1
1.1
《模拟画图》
1.2
巩固和加深以Java语言为基础的面向对象编程技术理论知识的理解,提高实际动手编程能力的培养,掌握以Java为核心的应用软件开发方案,达到能独立阅读、编制和调试一定规模的Java程序的水平。
加载系统风格:
try{
UIManager.setLookAndFeel(UIManager.
getSystemLookAndFeelClassName());
}//加载系统界面风格
catch(Exception e){
}
设置鼠标样式:
setCursor(newCursor(Cursor.HAND_CURSOR));//设置画图板鼠标样式
相关文档
最新文档