java课设——用菜单按钮控制绘图
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
功能综述
复习、巩固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);