java课设——用菜单按钮控制绘图

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

功能综述

复习、巩固Java讥占T1基刊好认进一挥对Java语言的理解和掌握课程设计为学生提供了一个既动手又动脑、独立实践的机会,将课本上的理论知识和实际有机的结合起

来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力,培养学生在项目开发中团队合作精神、创新意识及能力。

实现简单绘图功能,具体要求:画直线,画空心或实心椭圆、画空心或实心矩形、画多边形(图形的位置和大小可在程序中设定)。

(一)分析与设计说明

本学期对于java语言的学习,本程序运用图形界面和绘图功能,均已学过利用Eclipse工

具,采用java语言解决问题。

界面上方相应所需的菜单选项或下方的按钮,得到所需图形,完成功能的实现。

运行程序,输入图形类型,并输入两个坐标参数(不超过界面的大小),再选择程序

(二)代码分析

/图形界面的实现(图形界面包括2个标签,4个菜单,6个按钮,5个文本组件)

//导入程序所需要的包

import java.awt.*;

import java.awt.eve nt.*;

import javax.swi ng.*;

public class Draw exte nds JFrame impleme nts Actio nListe ner{

private static fin al l ong serialVers ionUID = 1L;

private static final int WIDTH=600;

private static final int HEIGHT=600;

JMe nuBar men ubar;

JMe nu men u1,me nu 2,me nu 3,me nu4;

JMe nultem item1,item2,item3,item4,item5,item6;

JButton butt on 1,butt on 2,butto n3,butto n4 ,butto n5,butto n6;

JLabel label1;

Mypa nel pan e1= new Mypa nel();

DrawCa nvas JD=n ull;

//将图形界面设为名为“控制绘图”且长宽都为600的图形界面。

public Draw(){

super("控制绘图");

setSize(WIDTH,HEIGHT);

Container c=getC onten tPa ne();

JD=new DrawCa nvas();

JPa nel pane2=new JPa nel(); Compe nt(c, pan e2);

}

private void Compe nt(C ontainer c, JPa nel pan e2) {

men ubar =new JMe nuBar();

menu仁new JMenu(”直线");

menu2=new JMenu(” 椭圆");

menu3=new JMenu(” 矩形");

menu4=new JMenu(” 多边形");

item仁new JMe nultem(”直线");

item2=new JMen ultem(”空心椭圆“

item3=new JMen ultem(”实心椭圆“

item 4=new JMe nultem(”空心矩形“

item5=new JMe nultem(”实心矩形“

item6=new JMen ultem(”多边形");

iteml.addActio nListe ner(this); item2.addActio nListe ner(this); item3.addActi on Liste

ner(this); item4.addActio nListe ner(this); item5.addActi on Liste ner(this); item6.addActi on

Liste ner(this); label 仁new JLabel("");

men u1.add(item1);

menu 2.add(item2);

menu 2.addSeparator();

menu 2.add(item3);

menu 3.add(item4);

menu 3.addSeparator();

menu 3.add(item5);

menu 4.add(item6);

menu bar.add(me nu1);

menu bar.add(me nu 2); menu bar.add(me nu 3);

menu bar.add(me nu 4); setJMe nuBar(me nu bar);

butt on 1= new JButt on (”直线");

button2=new JButton(”空心椭圆");

button3=new JButton(”实心椭圆");

button4=new JButton(”空心矩形");

button5=new JButton(”实心矩形");

button6=new JButton(”多边形");

pan e2.add(butt on 1); pan e2.add(butt on 2); pan e2.add(butt on 4); pan e2.add(butt on 6);

pan e2.add(label1);

pan e2.add(butt on 3); pan e2.add(butt on 5);

butt on 1.addAct ion Liste ner(this); butt on 2.addAct ion Liste ner(this); butt on 3.addAct ion Liste ner(this); butt on4 .addAct ion Liste ner(this); butt on 5.addAct ion Liste ner(this); butt on

6.addAct ion Liste ner(this);

c.add(pa ne1,BorderLayout.NORTH);

c.add(pa ne2,BorderLayout.SOUTH);

c.add(JD,BorderLayout.CENTER);

pa ne2.setLayout( new GridLayout(2,5,20,10));

}

/*Draw 继承了JFrame,因此可以显示,首先声明标签、菜单、按钮和一个JFrame窗口。

然床通过构建标签、菜且、按钮菜单项添加理菜且屮。标签、菜单、按钮添加理窗口容器中,设置容器的大小及添加按钮和菜单事件监听者。*/

/*处理事件监听器事件*/

public void acti on Performed(Act ion Eve nt e) {

int x1,y1,x2,y2;

x1=I nteger.parsel nt(pa ne1.getA().getText());

y1=I nteger.parse In t(pa ne1.getB().getText());

x2=I nteger.parse In t(pa ne1.getC().getText());

y2=I nteger.parse In t(pa ne1.getD().getText());

相关文档
最新文档