java课设用菜单按钮控制绘图Word文件下载.docx

上传人:b****7 文档编号:22520606 上传时间:2023-02-04 格式:DOCX 页数:29 大小:213.69KB
下载 相关 举报
java课设用菜单按钮控制绘图Word文件下载.docx_第1页
第1页 / 共29页
java课设用菜单按钮控制绘图Word文件下载.docx_第2页
第2页 / 共29页
java课设用菜单按钮控制绘图Word文件下载.docx_第3页
第3页 / 共29页
java课设用菜单按钮控制绘图Word文件下载.docx_第4页
第4页 / 共29页
java课设用菜单按钮控制绘图Word文件下载.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

java课设用菜单按钮控制绘图Word文件下载.docx

《java课设用菜单按钮控制绘图Word文件下载.docx》由会员分享,可在线阅读,更多相关《java课设用菜单按钮控制绘图Word文件下载.docx(29页珍藏版)》请在冰豆网上搜索。

java课设用菜单按钮控制绘图Word文件下载.docx

DrawCanvasJD=null;

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

publicDraw(){

super("

控制绘图"

);

setSize(WIDTH,HEIGHT);

Containerc=getContentPane();

JD=newDrawCanvas();

JPanelpane2=newJPanel();

pent(c,pane2);

}

privatevoidpent(Containerc,JPanelpane2){

menubar=newJMenuBar();

menu1=newJMenu("

直线"

menu2=newJMenu("

椭圆"

menu3=newJMenu("

矩形"

menu4=newJMenu("

多边形"

item1=newJMenuItem("

item2=newJMenuItem("

空心椭圆"

item3=newJMenuItem("

实心椭圆"

item4=newJMenuItem("

空心矩形"

item5=newJMenuItem("

实心矩形"

item6=newJMenuItem("

item1.addActionListener(this);

item2.addActionListener(this);

item3.addActionListener(this);

item4.addActionListener(this);

item5.addActionListener(this);

item6.addActionListener(this);

label1=newJLabel("

"

menu1.add(item1);

menu2.add(item2);

menu2.addSeparator();

menu2.add(item3);

menu3.add(item4);

menu3.addSeparator();

menu3.add(item5);

menu4.add(item6);

menubar.add(menu1);

menubar.add(menu2);

menubar.add(menu3);

menubar.add(menu4);

setJMenuBar(menubar);

button1=newutton("

button2=newutton("

button3=newutton("

button4=newutton("

button5=newutton("

button6=newutton("

pane2.add(button1);

pane2.add(button2);

pane2.add(button4);

pane2.add(button6);

pane2.add(label1);

pane2.add(button3);

pane2.add(button5);

button1.addActionListener(this);

button2.addActionListener(this);

button3.addActionListener(this);

button4.addActionListener(this);

button5.addActionListener(this);

button6.addActionListener(this);

c.add(pane1,BorderLayout.NORTH);

c.add(pane2,BorderLayout.SOUTH);

c.add(JD,BorderLayout.CENTER);

pane2.setLayout(newGridLayout(2,5,20,10));

}

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

然后通过构建标签、菜单、按钮菜单项添加到菜单中。

标签、菜单、按钮添加到窗口容器中,设置容器的大小及添加按钮和菜单事件监听者。

*/

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

publicvoidactionPerformed(ActionEvente){

intx1,y1,x2,y2;

x1=Integer.parseInt(pane1.getA().getText());

y1=Integer.parseInt(pane1.getB().getText());

x2=Integer.parseInt(pane1.getC().getText());

y2=Integer.parseInt(pane1.getD().getText());

intx3[]={280,120,50,90,210,280};

intx4[]={20,50,100,110,70,20};

intn=5;

//当监听器监听到鼠标点击菜单项实心椭圆时,绘制实心椭圆图形

elseif(e.getSource()==item3){

if(JD!

=null){

JD.setLine(0);

JD.setOval(0);

JD.setfillOval

(1);

JD.setRect(0);

JD.setfillRect(0);

JD.setPolygon(0);

JD.setPosition(x1,y1,x2,y2);

JD.repaint();

//当监听器监听到鼠标点击菜单项直线时,绘制直线图形

//当监听器监听到鼠标点击菜单项空心椭圆时,绘制空心椭圆图形

//当监听器监听到鼠标点击菜单项空心矩形时,绘制空心矩形图形

//当监听器监听到鼠标点击菜单项实心矩形时,绘制实心矩形图形

//当监听器监听到鼠标点击菜单项多边形时,绘制多边形图形

//当监听器监听到鼠标点击按钮直线时,绘制直线图形

if(e.getSource()==button1){

JD.setLine

(1);

JD.setfillOval(0);

JD.setRect(0);

JD.setfillRect(0);

JD.setPolygon(0);

JD.repaint();

//当监听器监听到鼠标点击按钮空心椭圆时,绘制空心椭圆图形

//当监听器监听到鼠标点击按钮实心椭圆时,绘制实心椭圆图形

//当监听器监听到鼠标点击按钮空心矩形时,绘制空心矩形图形

//当监听器监听到鼠标点击按钮实心矩形时,绘制实心矩形图形

//当监听器监听到鼠标点击按钮多边形时,绘制多边形图形

//3.主函数的实现:

//在主函数中创建了一个jf窗口用于产生图形界面。

设置其可见和大小不可改变属性

publicstaticvoidmain(String[]args){

JFramejf=newDraw();

jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

jf.setResizable(false);

jf.setVisible(true);

}

//图形绘制的实现

//导入该程序所需要的包

//DrawCanvas实现图形的绘制(直线空心椭圆实心椭圆空心矩形实心矩形多边形)。

publicclassDrawCanvasextendsJPanel{

intline,oval,filloval,rect,fillrect,polygon;

intx3[],x4[],n;

publicvoidsetPosition(intx1,inty1,intx2,inty2){

this.x1=x1;

this.y1=y1;

this.x2=x2;

this.y2=y2;

publicvoidsetPolPosition(intx3[],intx4[],intn){

this.x3=x3;

this.x4=x4;

this.n=n;

publicvoidsetLine(intline){

this.line=line;

publicvoidsetOval(intoval){

this.oval=oval;

publicvoidsetfillOval(intfilloval){

this.filloval=filloval;

publicvoidsetRect(intrect){

this.rect=rect;

publicvoidsetfillRect(intfillrect){

this.fillrect=fillrect;

publicvoidsetPolygon(intpolygon){

this.polygon=polygon;

publicvoidpaintponent(Graphicsg){

g.setColor(getBackground());

g.fillRect(0,0,this.getWidth(),this.getHeight());

g.setColor(Color.black);

if(line==1){

g.drawLine(x1,y1,x2,y2);

}

elseif(oval==1){

g.drawOval(x1,y1,x2,y2);

elseif(filloval==1){

g.fillOval(x1,y1,x2,y2);

elseif(rect==1){

g.drawRect(x1,y1,x2,y2);

elseif(fillrect==1){

g.fillRect(x1,y1,x2,y2);

elseif(polygon==1){

g.drawPolygon(x3,x4,n);

//设置参数的实现

//导入程序所需的包

//Mypanel类中声明了标签并使得通过创建该类的实例将其添加到图形界面中

publicclassMypanelextendsJPanel{

Labellabel1,label2,label3,label4;

TextFielda,b,c,d,x;

Mypanel(){

label2=newLabel("

请输入:

label1=newLabel("

参数"

/*参数最大可设置4位不过上面的图像界面中设置的大小为600600。

故此设置的大小不应该超过600600600600。

*/

x=newTextField(4);

a=newTextField(4);

b=newTextField(4);

c=newTextField(4);

d=newTextField(4);

add(label2);

add(x);

add(label1);

add(a);

add(b);

add(c);

add(d);

publicTextFieldgetA(){

returna;

publicvoidsetA(TextFielda){

this.a=a;

publicTextFieldgetB(){

returnb;

publicvoidsetB(TextFieldb){

this.b=b;

publicTextFieldgetC(){

returnc;

publicvoidsetC(TextFieldc){

this.c=c;

publicTextFieldgetD(){

returnd;

publicvoidsetD(TextFieldd){

this.d=d;

/*

应该注意的是,多边形的参数是数组型给出,故为了简便,程序中已经设置好多变形的参

数,不论输入的参数是什么,显示的还是代码中已经设置好的参数的那个多边形。

参数一

二位为图形起点位置坐标,三四位位图形终点坐标分别为图形的左上角和右下角。

*/

(三)运行结果

例一:

输入“直线”和参数,选择直线菜单项,绘制图线为直线。

例二:

输入“空心椭圆”和参数,选择下方空心椭圆按钮,绘制图形为空心椭圆。

例三:

输入“实心矩形”和参数,选择下方实心矩形按钮,绘制图形为实心矩形。

例四:

输入“多边形”和参数,选择多边形菜单项,绘制图形为多边形。

结果分析:

1、当输入“直线”,并输入起始两点坐标参数,点击直线菜单项或直线按钮时,

绘制图形为直线。

2、当输入“空心椭圆”,并输入两点坐标参数,点击空心椭圆菜单项或空

心椭圆按钮时,绘制图形为空心椭圆。

3、当输入“实心椭圆”,并输入两点坐标参数,点击实心椭圆菜单项或实

心椭圆时按钮,绘制图形为实心椭圆。

4、当输入“空心矩形”,并输入对角线两点坐标参数,点击空心矩形菜单项或

空心矩形按钮时,绘制图形为空心矩形。

5、当输入“实心矩形”,并输入对角线两点坐标参数,点击实心矩形菜单项或

实心矩形按钮时,绘制图形为实心矩形。

6、当输入“多边形”,并输入两点坐标参数,点击多边形菜单项或多边形按钮

时,绘制图形为多边形。

(四)附录

附录一:

//界面大小

//菜单条

//菜单

//菜单项

//创建标题;

//初始化容器;

//构造一个新JMenu,用提供的字符串作为其文本;

//往菜单、对象条中到场一条横线,完成分组功效;

setJMenuBar(menubar);

pane2.setLayout(newGridLayout(2,4,20,10));

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学案例设计

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1