首页 云大设计模式实验6(命令模式)

云大设计模式实验6(命令模式)

举报
开通vip

云大设计模式实验6(命令模式)1 云南大学软件学院 实验报告 课程: 设计模式 学期: 2012-2013学年 第一学期 任课教师: 陆歌浩 专业: 软件工程 学号: 20101120007 姓名: 孙金文 成绩: 实验6 命令模式 一、实验目的 1.熟悉命令模式 2.运用命令模式编制简单的java 程序 二、实验内容 类图: ci r cul ar : C i r cul ar E l l i pseC om m and(...) execut e(...)undo(...) ci r cul ar : C i r ...

云大设计模式实验6(命令模式)
1 云南大学软件学院 实验 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 课程: 设计模式 学期: 2012-2013学年 第一学期 任课教师: 陆歌浩 专业: 软件工程 学号: 20101120007 姓名: 孙金文 成绩: 实验6 命令模式 一、实验目的 1.熟悉命令模式 2.运用命令模式编制简单的java 程序 二、实验 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 类图: ci r cul ar : C i r cul ar E l l i pseC om m and(...) execut e(...)undo(...) ci r cul ar : C i r cul ar publ i c : @O ver r i de C i r cul ar C om m and(...)execut e(...)undo(...) h : i nt w : i nt e : E l l i pse2D f : i nt C i r cul ar (...)dr aw C i r cul ar (...)dr aw E l l i pse(...)dr aw S ol i dR ound(...)pai nt C om ponent (...) publ i c : @O ver r i de t r i angl e : T r i angl e execut e(...)T r i angl eC om m and(...)undo(...) publ i c : @O ver r i de r ect angl e : R ect angl e execut e(...)squar eC om m and(...)undo(...) h : i nt w : i nt r ec : R ect angl e2D dr aw hi ghR ect angl e(...)dr aw l ongR ect angl e(...)dr aw squar e(...)pai nt C om ponent (...)R ect angl e(...) ( : ; : ) : A r r ayLi st = : dcom m and A r r ayLi st : new addC om m and(...)execut eC om m and(...)r em oveC om m and(...)undoC om m and(...) execut e(...)undo(...) m ai n(...) hei ght : i nt w i dt h : i nt x : i nt []y : i nt [] dr aw eQ ui l at er al T r i angl e(...)dr aw I soscel esT r i angl e(...)dr aw T r i angl e(...)pai nt C om ponent (...)T r i angl e(...) publ i c : @O ver r i de t r i angl e : T r i angl e execut e(...) I soscel esT r i angl eC om m and(...)undo(...)publ i c : @O ver r i de r ect angl e : R ect angl e execut e(...) l ongR ect angl eC om m and(...)undo(...) ci r cul ar : C i r cul ar publ i c : @O ver r i de execut e(...) S ol i dR oundC om m and(...)undo(...) publ i c : @O ver r i de r ect angl e : R ect angl e execut e(...)hi ghR ect angl eC om m and(...)undo(...) publ i c : @O ver r i de t r i angl e : T r i angl e execut e(...)Q ui l at er al T r i angl eC om m and(...)undo(...) 实验代码: package command; import java.awt.Color; import java.awt.Container; import java.awt.Dimension; import java.awt.Frame; import java.awt.Graphics; import java.awt.GridLayout; import java.awt.Panel; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import java.util.ArrayList; import java.awt.Graphics2D; import java.awt.geom.Ellipse2D; import java.awt.geom.Rectangle2D; import javax.swing.JPanel; public class GraphicsMain{ public static void main(String[] args) { Toolkit kit=Toolkit.getDefaultToolkit(); Dimension screenSize=kit.getScreenSize(); int screenHeihgt=screenSize.height; int screenWidth=screenSize.width; DrawJFram drawJFram=new DrawJFram(); drawJFram.setSize(screenWidth, screenHeihgt); drawJFram.setVisible(true); } } interface DrawCommand { public void execute(); public void undo(); } class EllipseCommand implements DrawCommand{ Circular circular; public EllipseCommand(Circular c){ circular=c; } public void execute() { circular.DrawEllipse(); } public void undo() { DrawFrame.getJFrame().add(circular); } } class DrawJFram extends JFrame implements ActionListener{ JComboBox comboBox,comboBox2,comboBox3; String[] str={"圆形","椭圆","实心圆"}; String[] str2={"方形","正方形","长方形"}; String[] str3={"三角形","等腰直角三角形","等边三角形"}; public DrawJFram (){ super(" 孙金文-20101120007"); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setcomputerWindow(); } private void setcomputerWindow() { // TODO Auto-generated method stub Container ct=this.getContentPane(); ct.setLayout(new GridLayout(6,1)); Panel p1=new Panel(); p1.add(new JLabel("圆形:")); comboBox=new JComboBox(str); p1.add(comboBox); p1.add(new JLabel("方形:")); comboBox2=new JComboBox(str2); p1.add(comboBox2); p1.add(new JLabel("三角形:")); comboBox3=new JComboBox(str3); p1.add(comboBox3); comboBox.addActionListener(this); comboBox2.addActionListener(this); comboBox3.addActionListener(this); ct.add(p1,"North"); } public void actionPerformed(ActionEvent e) { if(e.getSource().equals(comboBox)){ if(comboBox.getSelectedItem().equals("圆形")){ Circular circular=new Circular(100, 100); this.add(circular,"South"); circular.DrawCircular(); this.setVisible(true); } else if(comboBox.getSelectedItem().equals("椭圆")){ Circular circular=new Circular(30, 70); this.add(circular,"South"); circular.drawEllipse(); this.setVisible(true); } else if(comboBox.getSelectedItem().equals("实心圆")){ Circular circular=new Circular(50, 50); this.add(circular,"South"); circular.drawSolidRound(); this.setVisible(true); } } else if(e.getSource().equals(comboBox2)){ if(comboBox2.getSelectedItem().equals("方形")){ Rectangle rectangle=new Rectangle(100, 100); this.add(rectangle,"South"); rectangle.drawhighRectangle(); this.setVisible(true); } else if(comboBox2.getSelectedItem().equals("长方形")){ Rectangle rectangle=new Rectangle(100, 100); this.add(rectangle,"South"); rectangle.DrawlongRectangle(); this.setVisible(true); } else if(comboBox2.getSelectedItem().equals("正方形")){ Rectangle rectangle=new Rectangle(100, 100); this.add(rectangle,"South"); rectangle.drawsquare(); this.setVisible(true); } }else if(e.getSource().equals(comboBox3)){ if(comboBox3.getSelectedItem().equals("三角形")){ Triangle triangle=new Triangle(500, 10); this.add(triangle,"South"); triangle.drawTriangle(); this.setVisible(true); } else if(comboBox3.getSelectedItem().equals("等腰直角三角形")){ Triangle triangle=new Triangle(500, 30); this.add(triangle,"South"); triangle.drawIsoscelesTriangle(); this.setVisible(true); } else if(comboBox3.getSelectedItem().equals("等边三角形")){ Triangle triangle=new Triangle(500, 50); this.add(triangle); triangle.draweQuilateralTriangle(); this.setVisible(true); } } } } class DrawControl { ArrayList dcommand=new ArrayList(); public void addCommand(DrawCommand dc){ dcommand.add(dc);
本文档为【云大设计模式实验6(命令模式)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_496339
暂无简介~
格式:doc
大小:31KB
软件:Word
页数:0
分类:英语四级
上传时间:2019-01-12
浏览量:8