java课设——用菜单按钮控制绘图_第1页
java课设——用菜单按钮控制绘图_第2页
java课设——用菜单按钮控制绘图_第3页
java课设——用菜单按钮控制绘图_第4页
java课设——用菜单按钮控制绘图_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、功能概要复习和加强java语言基础知识进一步加深对java语言的理解和课程设计,为学生提供了动手动脑、独立实践的机会,锻炼了教科书上的理论知识和实际有机结合,锻炼了学生分析解决实际问题的能力。 提高学生实际适应、实践编程的能力,培养学生在项目开发中的团队合作精神、创新意识和能力。实现了简单的绘制功能,具体来说,绘制直线,绘制中空或实心椭圆,绘制中空或实心矩形,绘制多边形(图形的位置和大小可以编程方式设定)。(1)分析和设计的说明本学期对于java语言的学习,这个程序使用图形界面和绘图功能,利用eclipse工具,学习了用java语言解决问题。用菜单和按钮控制绘图程序。设置图形参数菜单绘制图表点

2、击按钮来绘制图形。主菜单多边形填充的长方形中空矩形实心椭圆中空椭圆直线多边形椭圆形长方形直线直线填充的长方形中空矩形实心椭圆中空椭圆多边形运行程序,输入图形类型,输入两个坐标参数(不超过界面大小),在程序界面上选择相应的菜单选项或下面的按钮,获得所需的图形,完成功能的实现(2)代码分析/图形界面的实现(图形界面包括两个标签、四个菜单、六个按钮和五个文本组件)/导入程序所需的软件包导入java.awt.* .导入java.awt.event.*导入javax.swing.* .publicsclarddrawextendjframeimplementsactionlistener. 专用性文件长

3、度序列的版本控制uid=1l;私有静态最终宽度=600;私有静态最终高度=600;jmenubar menubar;菜单1、菜单2、菜单3、菜单4;jmenuitem item1、item2、item3、item4、item5、item6;jbutton button1,button2,button3,button4,button5,button6;jlabel标签1;mypanel pane1=new mypanel ();drawcanvas jd=null;/将图形界面命名为“控制绘图”,并将其设置为宽高比为600的图形界面。公共图形(); 请参见。super (控制绘制 );设置(宽度

4、,高度)container c=getcontentpane ();jd=new drawcanvas ();jpanel pane2=new jpanel ();compent(c,pane2)以下个人视频组件(容器c,jpanel pane2) )。menubar=new jmenubar ();menu1=new jmenu (直线 );menu2=new jmenu (椭圆 );menu3=new jmenu (矩形 );menu4=new jmenu (多边形 );item1=new jmenuitem (直线 );item2=new jmenuitem (中空椭圆 );item3=

5、new jmenuitem (实心椭圆 );item4=new jmenuitem (空白矩形 );item5=new jmenuitem (实心矩形 );item6=new jmenuitem (多边形 );item1.addactionlistener(this )item2.addactionlistener(this )item3.addactionlistener(this )item4.addactionlistener(this )item5.addactionlistener(this )item6.addactionlistener(this )标签1=new jlabel

6、( );menu1.添加(item1)menu2.添加(item2)menu2.addseparator ();menu2.添加(item3)menu3.添加(item4)menu3.addseparator ();menu3.add(item5)menu4.添加(item6)menubar.add(menu1)menubar.add(menu2)menubar.add(menu3)menubar.add(menu4)setjmenubar(menubar )button1=new jbutton (直线 );button2=new jbutton (中空椭圆 );button3=new jb

7、utton (实心椭圆 );button4=new jbutton (空白矩形 );button5=new jbutton (实心矩形)button6=new jbutton (多边形 );pane2.add(button1)pane2.add(button2)pane2.add(button4)pane2.add(button6)pane2. add (标签1 )pane2.add(button3)pane2.add(button5)button1.addactionlistener(this )button2.addactionlistener(this )button3.addactio

8、nlistener(this )button4.addactionlistener(this )button5.addactionlistener(this )button6.addactionlistener(this )c .添加(pane 1,borderlayout.north )c .添加(pane 2,borderlayout.south )c .添加(jd,borderlayout.center )pane2.设置布局(newgridyout (2,5,20,10 ) );以下/*draw继承了jframe,所以可以声明和显示标签、菜单、按钮和jframe窗口。卡卡卡卡卡卡卡卡卡

9、卡卡卡卡卡耶伊耶伊耶伊耶伊埃伊埃伊埃伊埃伊埃伊埃伊埃伊塔塔塔、菜单、按钮添加到窗口容器中,设置容器的大小,并添加按钮和菜单事件侦听器。 */*事件侦听事件的处理*/publicvoidactionperformed (actionevent e ) int x1、y1、x2、y2;x1=integer.parse eint (pane1. geta ().gettext ();y1=integer.parse eint (pane1. getbb ().gettext ();x2=integer.parse eint (pane1. getc ().gettext ();y2=integer.

10、parse eint (pane1. getd ().gettext ();intx3 = 280,120,50,90,210,280 ;int x4 = 20,50,100,110,70,20 ;int n=5;/当侦听程序检测到鼠标点击的菜单项的实心椭圆时,绘制实心椭圆的图形else if(e.getsource()=item3)pr!=空值)jd.setline(0)jd.setoval(0)jd.setfilloval(1)jd.setrect(0)jd.setfillrect(0)jd.setpolygon(0)jd .设置位置(x 1,y1,x2,y2)jd.repaint ();

11、以下以下/侦听器用鼠标单击菜单项的直线,就会绘制直线图形/监听程序接收到鼠标点击菜单的空白椭圆时,绘制空白椭圆的图形/侦听程序接收到鼠标点击菜单项的白色矩形时,将绘制白色矩形的图形/当侦听程序接收到用鼠标单击菜单项填充的矩形时,将绘制一个填充的矩形图形/侦听器用鼠标单击菜单项的多边形,就会绘制多边形图形/侦听器检测到用鼠标点击按钮的直线时,绘制直线图形将if (e.get source ()pr!=空值)jd.setline(1)jd.setoval(0)jd.setfilloval(0)jd.setrect(0)jd.setfillrect(0)jd.setpolygon(0)jd .设置位

12、置(x1,y1,x2,y2 )jd.repaint ();以下以下/侦听器检测到鼠标单击按钮的空白椭圆时,绘制空白椭圆的图形/侦听器感知到鼠标点击按钮的实心椭圆时,绘制实心椭圆的图形/侦听程序接收到鼠标点击按钮的空白矩形时,绘制空白矩形的图形/当侦听器用鼠标点击检测到按钮的实心矩形时,绘制实心矩形的图形/侦听器单击鼠标按钮的多边形时,将绘制多边形的图形/3 .主函数的实现:/在主函数上显示jf窗口157348; 并生成了一个图形界面. 设置无法更改显示和大小的属性publicstaticvoidmain (string args ) jframe jf=new draw ();jf.setde

13、faultcloeoperation (jframe.exit _ on _ close )jf.setresizable(false )jf.setvisible(true )以下以下/图形绘制的实现/导入此程序所需的软件包。导入java.awt.* .导入javax.swing.* ./drawcanvas实现了图形的绘制(直线157348; 中空椭圆157348; 实心椭圆15753348; 中空矩形153348; 实心矩形153348; 多边形)。publclsdrawcanvasextendsnjpanel专用性文件长度序列的版本控制uid=1l;int x1、y1、x2、y2;在线、oval、文件oval、rect、文件、文件、多边形;int x3,x4,n;公共语音设置位置(int x1,int y1,int x2,int y2 ) aacthis.x1=x1;this.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论