版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、二. .实验题目:用java编写洗衣机仿真程序实验目的:1. 熟悉并掌握洗衣机(全自动)的工作原理和运行过程.2. 学会软件工程设计中的一系列分析研究,对需求分析,可行性研究,软件模型等有一定的了解,为以后的软件设计工作打下良好的基础。3. 通过的洗衣机仿真系统的编写与学习,加深了对Java这门语言的了解,对其中的类的设计,类之间的关系,界面的设计(按钮及布局的设计)有了更深的了解与体会,为Java的学习做好准备工作。三. 实验要求:了解全自动洗衣机的简单工作过程及实现。其中包括,洗衣的方式(标准或是柔和)、洗衣中的水位选择(高水位洗衣、低水位洗衣等)等方面需要在人们将衣服放入洗衣机洗衣服之后
2、手动来选择;并且是必须选择的洗衣参数。当选择了一种洗衣参数后,按下启动按钮,洗衣机就会自动完成洗衣服的整个过程。在满足基本功能以外,还需要尽量考虑外观、造型、节水等方面的设计,符合人机界面的基本要求。四. 实验分析:1. 洗衣机需求分析:标准活洗:浸泡/活洗/甩十快速活洗:活洗/甩十大件衣物(冬衣,牛仔类):浸泡(温水,延长浸泡/活洗(延长筒转时间)/甩十床单,窗帘类:浸泡(温水)/活洗根据衣物的不同用按钮选择上述洗衣模式即可.其中甩十可选可不选.尽量设计了一个节水功能,可以实现水回收.在无需甩十时水不流走,余下的水可做其他用途,实现节水.2. 主要的类实现(1).继承类(2).包括进水,排水
3、,洗涤,漂洗,甩十等成员函数(3).水位的选择通过参数传递决定进水函数五. (4).其余通过调用筒的转动函数(run)并通过一定的参数控制实现程序设计步骤=»选择水温三放入衣物三选择洗衣模式=»脱水=»排水三烘干三关闭设计与实现过程:1.洗衣机类的部分实现:importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassWashingextendsJApplet(privateJFramejf;privateJButtonjb1,jb2,jb3,jb4,jb5,jb6;publicsta
4、ticvoidmain(String口args)(WashingflowTest=newWashing();flowTest.setSize(270,160);flowTest.go();/flowTest.show(true);publicvoidgo()(jf=newJFrame("洗衣机功能模拟器");Containercp=jf.getContentPane();cp.setLayout(null);jb1=newJButton("入水");jb2=newJButton("加衣");jb3=newJButton("脱
5、水");jb4=newJButton("排水");jb5=newJButton("烘干");jb6=newJButton("关闭");/Containercp=jf.getContentPane();/cp.setLayout(newBorderLayout();jb1.setBounds(10,10,80,80);cp.add(jb1);/指定组件追加到这个容器的末尾。这是一个方便的方法为addImpl。注意:如果一个组件已被添加到一个已显示的容器,验证必须在该容器调用,以显示新的组件。如果正在添加多个组件,你可以通过调用
6、验证只有一次,已添加的所有组件后提高效率。jb2.setBounds(110,10,80,80);cp.add(jb2);jb3.setBounds(210,10,80,80);cp.add(jb3);jb4.setBounds(310,10,80,80);cp.add(jb4);jb5.setBounds(410,10,80,80);cp.add(jb5);jb6.setBounds(510,10,80,80);cp.add(jb6);/jb7.setBounds(200,50,100,20);/cp.add(jb7);/cp.setSize(500,400);没用?调整这个组件,所以它具有
7、宽的宽度和局度局度。/cp.add(BorderLayout.SOUTH,jb7);jb1.addActionListener(newActionListener()publicvoidactionPerformed(ActionEventae)Shuiwenwen=newShuiwen(););jb2.addActionListener(newActionListener()publicvoidactionPerformed(ActionEventae)Yiwuyi=newYiwu();yi.go();/flowTest.go(););jb4.addActionListener(newAct
8、ionListener()publicvoidactionPerformed(ActionEventae)ChushuiChu=newChushui(););jb5.addActionListener(newActionListener()publicvoidactionPerformed(ActionEventae)/Piaoxipiao=newPiaoxi();Hongganhong=newHonggan();/Threadt=newThread(hong);/t.start(););jb3.addActionListener(newActionListener()publicvoidac
9、tionPerformed(ActionEventae)Tuoshuituo=newTuoshui(););jb6.addActionListener(newActionListener()/ActionListener接收动作事件的监听器接口。在处理动作事件感兴趣的类实现这个接口,这个类创建的对象注册一个组件,使用组件的addActionListener方法。动作事件发生时,该对象的actionPerformed方法被调用。publicvoidactionPerformed(ActionEventae)System.exit(0););/显示或隐藏这个窗口根据参数b值。jf.setSize(
10、700,150);jf.setVisible(true);2,.按钮界面的实现:publicvoidgo()jf=newJFrame("洗衣机功能模拟器");Containercp=jf.getContentPane();cp.setLayout(null);jb1=newJButton("入水");jb2=newJButton("加衣");jb3=newJButton("脱水");jb4=newJButton("排水");jb5=newJButton("烘干");jb6=n
11、ewJButton("关闭");/Containercp=jf.getContentPane();/cp.setLayout(newBorderLayout();jb1.setBounds(10,10,80,80);cp.add(jb1);/指定组件追加到这个容器的末尾。这是一个方便的方法为addImpl。/注意:如果一个组件已被添加到一个已显示的容器,验证必须在该容器调用,以显示新的组件。如果正在添加多个组件,你可以通过调用验证只有一次,已添加的所有组件后提高效率。jb2.setBounds(110,10,80,80);cp.add(jb2);jb3.setBounds(
12、210,10,80,80);cp.add(jb3);jb4.setBounds(310,10,80,80);cp.add(jb4);jb5.setBounds(410,10,80,80);cp.add(jb5);jb6.setBounds(510,10,80,80);cp.add(jb6);/jb7.setBounds(200,50,100,20);/cp.add(jb7);/cp.setSize(500,400);/没用?调整这个组件,所以它具有宽的宽度和局度局度。/cp.add(BorderLayout.SOUTH,jb7);jb1.addActionListener(newActionL
13、istener()publicvoidactionPerformed(ActionEventae)Shuiwenwen=newShuiwen(););jb2.addActionListener(newActionListener()(publicvoidactionPerformed(ActionEventae)(Yiwuyi=newYiwu();yi.go(););jb4.addActionListener(newActionListener()(publicvoidactionPerformed(ActionEventae)(ChushuiChu=newChushui(););jb5.ad
14、dActionListener(newActionListener()(publicvoidactionPerformed(ActionEventae)(/Piaoxipiao=newPiaoxi();Hongganhong=newHonggan();/Threadt=newThread(hong);/t.start(););jb3.addActionListener(newActionListener()(publicvoidactionPerformed(ActionEventae)(Tuoshuituo=newTuoshui(););jb6.addActionListener(newAc
15、tionListener()(/ActionListener接收动作事件的监听器接口。在处理动作事件感兴趣的类实现这个接口,这个类创建的对象注册一个组件,使用组件的addActionListener方法。动作事件发生时,该对象的actionPerformed方法被调用。publicvoidactionPerformed(ActionEventae)(System.exit(0););jf.setSize(620,160);jf.setVisible(true);/显示或隐藏这个窗口根据参数b值。六、实验过程【截图】【1】.功能菜单:【2】.选择温度【3】.加衣带罚吒-洗衣加:睥担罪【4】.泡洗
16、标.irni缺18%【5】脱水甘土:!匚voiilirtain(&土:ing白rg乌)iner!;的;26)lac厦责3己完add工mF的霎葬,虫*乜!贤=5t?5trfTe排水【6】.烘干七、技巧与体会本次对洗衣机仿真系统的实现对于基础较为薄弱的自己是一次不小的任务,从中学会了很多东西,对软件工程导论这么课关于需求,关于可行性,关于模型的建立,对Java这门语言的基本语法和运用技巧和界面设计有了一定的了解。另外、由于以前写程序参照的居多,第一次知道要做此程序设计的时候心理很是没底,不知从何下手.本想按要求用C+,后来同学们都说java的界面比较好做,于是决定用java,虽然java还
17、没有学完,但和学过的某些语言相通的地方还是不少的,做起来也没有感到很大的困难,就是在如何把界面和类的运行联系起来上纠结了好几天,最终程序只是能运行简单的功能,并没有达到预期的效果.以后我会继续努力的!八、代码:1./importjava.awt.BorderLayout;/importjava.awt.Color;/importjava.awt.Container;/importjava.awt.Dimension;importjava.awt.*;/importjava.awt.event.ActionEvent;/importjava.awt.event.ActionListener;im
18、portjava.awt.event.*;/importjavax.swing.JButton;/importjavax.swing.JFrame;/importjavax.swing.JLabel;/importjavax.swing.JPanel;/importjavax.swing.JProgressBar;/importjavax.swing.Timer;importjavax.swing.*;/importjavax.swing.event.ChangeEvent;/importjavax.swing.event.ChangeListener;importjavax.swing.ev
19、ent.*;publicclassChushuiimplementsActionListener,ChangeListener(JFrameframe=null;JProgressBarprogressbar;JLabellabel;Timertimer;JButtonb;publicChushui()(frame=newJFrame("出水");frame.setBounds(400,200,300,500);/frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);控制窗口关闭ContainercontentPanel=
20、frame.getContentPane();label=newJLabel("",JLabel.CENTER);progressbar=newJProgressBar();/progressbar.setOrientation(JProgressBar.VERTICAL);进度条方向progressbar.setMinimum(0);progressbar.setMaximum(100);progressbar.setValue(100);起始值progressbar.setStringPainted(true);progressbar.addChangeListener
21、(this);progressbar.setPreferredSize(newDimension(300,20);progressbar.setBorderPainted(true);/progressbar.setBackground(Color.pink);progressbar.setForeground(Color.GRAY);进度条颜色JPanelpanel=newJPanel();b=newJButton("出水");b.setForeground(Color.blue);按钮颜色b.addActionListener(this);panel.add(b);ti
22、mer=newTimer(100,this);contentPanel.add(panel,BorderLayout.NORTH);contentPanel.add(progressbar,BorderLayout.CENTER);contentPanel.add(label,BorderLayout.SOUTH);/frame.pack();frame.setVisible(true);publicvoidactionPerformed(ActionEvente)if(e.getSource()=b)timer.start();if(e.getSource()=timer)intvalue=
23、progressbar.getValue();if(value>0)progressbar.setValue(-value);elsetimer.stop();/frame.dispose();publicvoidstateChanged(ChangeEvente1)intvalue=progressbar.getValue();if(e1.getSource()=progressbar)label.setText("目前剩余:"+Integer.toString(value)+"%”);label.setForeground(Color.blue);Chu
24、shuiChu=newChushui();2、importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjavax.swing.event.*;publicclassHongganimplementsActionListener,ChangeListenerJFrameframe=null;JProgressBarprogressbar;JLabellabel;Timertimer;JButtonb;publicHonggan()frame=newJFrame("烘十");frame.setBound
25、s(400,400,400,200);/frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);控制窗口关闭ContainercontentPanel=frame.getContentPane();label=newJLabel("",JLabel.CENTER);progressbar=newJProgressBar();/progressbar.setOrientation(JProgressBar.VERTICAL);/进度条方向progressbar.setMinimum(0);progressbar.setMaxi
26、mum(100);progressbar.setValue(0);progressbar.setStringPainted(true);progressbar.addChangeListener(this);progressbar.setPreferredSize(newDimension(300,20);progressbar.setBorderPainted(true);/progressbar.setBackground(Color.pink);JPanelpanel=newJPanel();b=newJButton("开始");b.setForeground(Col
27、or.blue);按钮颜色b.addActionListener(this);panel.add(b);timer=newTimer(100,this);contentPanel.add(panel,BorderLayout.NORTH);contentPanel.add(progressbar,BorderLayout.CENTER);contentPanel.add(label,BorderLayout.SOUTH);/frame.pack();frame.setVisible(true);publicvoidactionPerformed(ActionEvente)if(e.getSou
28、rce()=b)(timer.start();if(e.getSource()=timer)(intvalue=progressbar.getValue();if(value<100)progressbar.setValue(+value);else(timer.stop();/frame.dispose();publicvoidstateChanged(ChangeEvente1)(publicstaticvoidmain(Stringargs)(HongganHong=newHonggan();3、importjava.awt.*;importjava.awt.event.*;imp
29、ortjavax.swing.*;importjavax.swing.event.*;publicclassPaoxiimplementsActionListener,ChangeListener(JFrameframe=null;JProgressBarprogressbar;JLabellabel;Timertimer;JButtona,b,c;publicPaoxi()(frame=newJFrame("泡洗");frame.setBounds(400,400,400,200);/frame.setDefaultCloseOperation(JFrame.EXIT_O
30、N_CLOSE);控制窗口关闭ContainercontentPanel=frame.getContentPane();label=newJLabel("",JLabel.CENTER);progressbar=newJProgressBar();/progressbar.setOrientation();进度条方向progressbar.setMinimum(0);progressbar.setMaximum(100);progressbar.setValue(0);progressbar.setStringPainted(true);progressbar.addCha
31、ngeListener(this);progressbar.setPreferredSize(newDimension(300,20);progressbar.setBorderPainted(true);/progressbar.setBackground(Color.pink);JPanelpanel=newJPanel();a=newJButton("标准");a.setForeground(Color.blue);按钮颜色addActionListener(this);panel.add(a);timer=newTimer(100,this);contentPane
32、l.add(panel,BorderLayout.NORTH);contentPanel.add(progressbar,BorderLayout.CENTER);contentPanel.add(label,BorderLayout.SOUTH);/frame.pack();frame.setVisible(true);JPanelpanel2=newJPanel();b=newJButton("快洗");setForeground(Color.blue);按钮颜色addActionListener(this);panel.add(b);timer=newTimer(10
33、0,this);contentPanel.add(panel,BorderLayout.NORTH);contentPanel.add(progressbar,BorderLayout.CENTER);contentPanel.add(label,BorderLayout.SOUTH);/frame.pack();frame.setVisible(true);JPanelpanel3=newJPanel();c=newJButton("强洗");setForeground(Color.blue);按钮颜色c.addActionListener(this);panel.add
34、(c);timer=newTimer(100,this);contentPanel.add(panel,BorderLayout.NORTH);contentPanel.add(progressbar,BorderLayout.CENTER);contentPanel.add(label,BorderLayout.SOUTH);/frame.pack();frame.setVisible(true);publicvoidactionPerformed(ActionEvente)if(e.getSource()=a)timer.start();if(e.getSource()=timer)int
35、value=progressbar.getValue();if(value<100)progressbar.setValue(+value);elsetimer.stop();/frame.dispose();if(e.getSource()=b)(timer.start();if(e.getSource()=timer)(intvalue=progressbar.getValue();if(value<100)progressbar.setValue(+value);else(timer.stop();/frame.dispose();if(e.getSource()=c)(ti
36、mer.start();if(e.getSource()=timer)(intvalue=progressbar.getValue();if(value<100)progressbar.setValue(+value);else(timer.stop();/frame.dispose();publicvoidstateChanged(ChangeEvente1)(publicstaticvoidmain(Stringargs)(Paoxipao=newPaoxi();4、importjava.awt.*;importjava.awt.event.*;importjavax.swing.*
37、;importjavax.swing.event.*;publicclassShuiwenimplementsActionListener,ChangeListener(JFrameframe=null;JProgressBarprogressbar;JLabellabel;Timertimer;JButtona,b,c;publicShuiwen()(frame=newJFrame("温度");frame.setBounds(400,100,400,600);/frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);控制窗
38、口关闭ContainercontentPanel=frame.getContentPane();label=newJLabel("",JLabel.CENTER);progressbar=newJProgressBar();progressbar.setOrientation(JProgressBar.VERTICAL);/progressbar.setOrientation();进度条方向progressbar.setMinimum(0);progressbar.setMaximum(100);progressbar.setValue(0);progressbar.set
39、StringPainted(true);progressbar.addChangeListener(this);progressbar.setPreferredSize(newDimension(300,20);progressbar.setBorderPainted(true);/progressbar.setBackground(Color.pink);JPanelpanel=newJPanel();a=newJButton("30C-50C");a.setForeground(Color.blue);按钮颜色addActionListener(this);panel.
40、add(a);timer=newTimer(100,this);contentPanel.add(panel,BorderLayout.NORTH);contentPanel.add(progressbar,BorderLayout.CENTER);contentPanel.add(label,BorderLayout.SOUTH);/frame.pack();frame.setVisible(true);JPanelpanel2=newJPanel();b=newJButton("50C-70C");setForeground(Color.blue);按钮颜色addAct
41、ionListener(this);panel.add(b);timer=newTimer(100,this);contentPanel.add(panel,BorderLayout.NORTH);contentPanel.add(progressbar,BorderLayout.CENTER);contentPanel.add(label,BorderLayout.SOUTH);/frame.pack();frame.setVisible(true);JPanelpanel3=newJPanel();c=newJButton("70C-90C");setForegroun
42、d(Color.blue);按钮颜色c.addActionListener(this);panel.add(c);timer=newTimer(100,this);contentPanel.add(panel,BorderLayout.NORTH);contentPanel.add(progressbar,BorderLayout.CENTER);contentPanel.add(label,BorderLayout.SOUTH);/frame.pack();frame.setVisible(true);publicvoidactionPerformed(ActionEvente)if(e.g
43、etSource()=a)timer.start();if(e.getSource()=timer)intvalue=progressbar.getValue();if(value<100)progressbar.setValue(+value);elsetimer.stop();/frame.dispose();if(e.getSource()=b)timer.start();if(e.getSource()=timer)intvalue=progressbar.getValue();if(value<100)progressbar.setValue(+value);elseti
44、mer.stop();/frame.dispose();if(e.getSource()=c)timer.start();if(e.getSource()=timer)intvalue=progressbar.getValue();if(value<100)progressbar.setValue(+value);elsetimer.stop();/frame.dispose();publicvoidstateChanged(ChangeEvente1)publicstaticvoidmain(Stringargs)Shuiwenwen=newShuiwen();5、importjava
45、.awt.*;importjava.awt.event.*;importjavax.swing.*;importjavax.swing.event.*;publicclassTuoshuiimplementsActionListener,ChangeListener(JFrameframe=null;JProgressBarprogressbar;JLabellabel;Timertimer;JButtonb;publicTuoshui()(frame=newJFrame("脱水");frame.setBounds(400,400,400,200);/frame.setDe
46、faultCloseOperation(JFrame.EXIT_ON_CLOSE);控制窗口关闭ContainercontentPanel=frame.getContentPane();label=newJLabel("",JLabel.CENTER);progressbar=newJProgressBar();/progressbar.setOrientation(JProgressBar.VERTICAL);/进度条方向progressbar.setMinimum(0);progressbar.setMaximum(100);progressbar.setValue(0
47、);progressbar.setStringPainted(true);progressbar.addChangeListener(this);progressbar.setPreferredSize(newDimension(300,20);progressbar.setBorderPainted(true);/progressbar.setBackground(Color.pink);JPanelpanel=newJPanel();b=newJButton("开始");b.setForeground(Color.blue);按钮颜色b.addActionListene
48、r(this);panel.add(b);timer=newTimer(100,this);contentPanel.add(panel,BorderLayout.NORTH);contentPanel.add(progressbar,BorderLayout.CENTER);contentPanel.add(label,BorderLayout.SOUTH);/frame.pack();frame.setVisible(true);publicvoidactionPerformed(ActionEvente)(if(e.getSource()=b)timer.start();if(e.get
49、Source()=timer)intvalue=progressbar.getValue();if(value<100)progressbar.setValue(+value);else(timer.stop();/frame.dispose();publicvoidstateChanged(ChangeEvente1)(publicstaticvoidmain(Stringargs)(TuoshuiTuou=newTuoshui();6、importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassWash
50、ingextendsJApplet(privateJFramejf;privateJButtonjb1,jb2,jb3,jb4,jb5,jb6;publicstaticvoidmain(Stringargs)(WashingflowTest=newWashing();flowTest.setSize(270,160);flowTest.go();/flowTest.show(true);publicvoidgo()(jf=newJFrame("洗衣机功能模拟器");Containercp=jf.getContentPane();cp.setLayout(null);jb1=
51、newJButton("入水");jb2=newJButton("加衣");jb3=newJButton("脱水");jb4=newJButton("排水");jb5=newJButton("烘十");jb6=newJButton("关闭");/Containercp=jf.getContentPane();/cp.setLayout(newBorderLayout();jb1.setBounds(10,10,80,80);cp.add(jb1);/指定组件追加到这个容器的末
52、尾。这是个方便的方法为addImpl注意:如果一个组件已被添加到一个已显示的容器,验证必须在该容器调用,以显示新的组件。如果正在添加多个组件,你可以通过调用验证只有一次,已添加的所有组件后提高效率。jb2.setBounds(110,10,80,80);cp.add(jb2);jb3.setBounds(210,10,80,80);cp.add(jb3);jb4.setBounds(310,10,80,80);cp.add(jb4);jb5.setBounds(410,10,80,80);cp.add(jb5);jb6.setBounds(510,10,80,80);cp.add(jb6);/
53、jb7.setBounds(200,50,100,20);/cp.add(jb7);/cp.setSize(500,400);没用?调整这个组件,所以它具有宽的宽度和高度高度。/cp.add(BorderLayout.SOUTH,jb7);jb1.addActionListener(newActionListener()publicvoidactionPerformed(ActionEventae)Shuiwenwen=newShuiwen(););jb2.addActionListener(newActionListener()publicvoidactionPerformed(ActionEventae)Yiwuyi=newYiwu();yi.go(););jb4.addActionListener(newActionListener()publicvoidactionPerformed(ActionEventae)ChushuiChu=newChushui(););jb5.addActionListener(newActionListener()publicvoidacti
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教育资源优化策略研究报告
- 管理咨询市场研究报告
- 2025年芜湖市检察系统考试真题(附答案)
- 2025年湖南省娄底市政府采购评审专家考试真题含答案
- 国学环创课题研究报告
- 纺织厂设计研究报告
- 菲利华深度研究报告
- 后进生教育研究报告
- 孩子身体早熟研究报告
- 旧小区改造研究报告
- 2026年长春市市属国有企业面向社会公开招聘(226人)笔试备考试题及答案解析
- 2026年国土空间规划中心下属事业单位选聘考试试题(附答案)
- 2026江苏盐城建湖县司法局选聘法律助理2人考试备考试题及答案解析
- 华东理工大学分析化学第2章-分析化学中的数据处理及评价课件
- 电厂工程热工专业施工方案
- DB32T 4111-2021 预应力混凝土实心方桩基础技术规程
- 华中农业大学(横向项目研究)技术合同参考样本
- 2022年云南省特岗教师招聘考试《初中化学教师专业课考试大纲》
- 医疗器械培训计划年
- 新教科版五年级科学下册第三单元全套课件
- 《口腔检查》PPT课件(人卫版)
评论
0/150
提交评论