2021年java课设——用菜单按钮控制绘图之令狐采学创编
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
功能综述
欧阳光明(2021.03.07)
复习、巩固Java 语言的基础知识进一步加深对Java 语言的理解和掌握课程设计为学生提供了一个既动手又动脑、独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力,培养学生在项目开发中团队合作精神、创新意识及能力。
实现简单绘图功能,具体要求:画直线,画空心或实心椭圆、画空心或实心矩形、画多边形(图形的位置和大小可在程序中设定)。
(一) 分析与设计说明
本学期对于java 语言的学习,本程序运用图形界面和绘图功能,均已学过利用Eclipse 工具,采用java 语言解决问题。
运行程序,输入图形类型,并输入两个坐标参数(不超过界面的大小),再选择程序界面上方相应所需的菜单选项或下方的按钮,
得到所需图形,完成功能的实现。 (二) 代码分析
/图形界面的实现(图形界面包括2个标签,4个菜单,6个按钮,5
用菜单和按钮控制绘图程序
设置图形参数 菜单绘制图形 按钮绘制图形 直
线
空心
椭圆 实心
椭圆 空心
矩形 实心
矩形 多边
形 主菜单
多
边形 椭
圆 矩
形
直线
直线 多边形 空
心椭圆
实心椭圆
空心矩形
实心
矩形
个文本组件)
//导入程序所需要的包
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Draw extends JFrame implements ActionListener{ private static final long serialVersionUID = 1L;
private static final int WIDTH=600;
private static final int HEIGHT=600;
JMenuBar menubar;
JMenu menu1,menu2,menu3,menu4;
JMenuItem item1,item2,item3,item4,item5,item6;
JButton button1,button2,button3,button4,button5,button6;
JLabel label1;
Mypanel pane1=new Mypanel();
DrawCanvas JD=null;
//将图形界面设为名为“控制绘图”且长宽都为600的图形界面。 public Draw(){
super("控制绘图");
setSize(WIDTH,HEIGHT);
Container c=getContentPane();
JD=new DrawCanvas();
JPanel pane2=new JPanel();
Compent(c, pane2);
}
private void Compent(Container 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=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);
label1=new JLabel("");
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=new JButton("直线");
button2=new JButton("空心椭圆"); button3=new JButton("实心椭圆"); button4=new JButton("空心矩形"); button5=new JButton("实心矩形"); button6=new JButton("多边形"); pane2.add(button1);
pane2.add(button2);
pane2.add(button4);
pane2.add(button6);
pane2.add(label1);
pane2.add(button3);