JAVA洗衣機仿真程序?qū)嶒瀳蟾婕按a_第1頁
JAVA洗衣機仿真程序?qū)嶒瀳蟾婕按a_第2頁
JAVA洗衣機仿真程序?qū)嶒瀳蟾婕按a_第3頁
JAVA洗衣機仿真程序?qū)嶒瀳蟾婕按a_第4頁
JAVA洗衣機仿真程序?qū)嶒瀳蟾婕按a_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、1 實驗題目: 用java編寫洗衣機仿真程序2 實驗?zāi)康模?.熟悉并掌握洗衣機(全自動)的工作原理和運行過程. 2.學(xué)會軟件工程設(shè)計中的一系列分析研究,對需求分析,可行性研究,軟件模型等有一定的了解,為以后的軟件設(shè)計工作打下良好的基礎(chǔ)。3.通過的洗衣機仿真系統(tǒng)的編寫與學(xué)習(xí),加深了對Java這門語言的了解,對其中的類的設(shè)計,類之間的關(guān)系,界面的設(shè)計(按鈕及布局的設(shè)計)有了更深的了解與體會,為Java的學(xué)習(xí)做好準(zhǔn)備工作。3 實驗要求: 了解全自動洗衣機的簡單工作過程及實現(xiàn)。其中包括,洗衣的方式(標(biāo)準(zhǔn)或是柔和)、洗衣中的水位選擇(高水位洗衣、低水位洗衣等)等方面需要在人們將衣服放入洗衣機洗衣服之后手

2、動來選擇;并且是必須選擇的洗衣參數(shù)。當(dāng)選擇了一種洗衣參數(shù)后,按下啟動按鈕,洗衣機就會自動完成洗衣服的整個過程。在滿足基本功能以外,還需要盡量考慮外觀、造型、節(jié)水等方面的設(shè)計,符合人機界面的基本要求。 4 實驗分析:1. 洗衣機需求分析:標(biāo)準(zhǔn)清洗:浸泡/清洗/甩干快速清洗:清洗/甩干大件衣物(冬衣,牛仔類):浸泡(溫水,延長浸泡/清洗(延長筒轉(zhuǎn)時間)/甩干床單,窗簾類:浸泡(溫水)/清洗根據(jù)衣物的不同用按鈕選擇上述洗衣模式即可.其中甩干可選可不選.盡量設(shè)計了一個節(jié)水功能,可以實現(xiàn)水回收.在無需甩干時水不流走,余下的水可做其他用途,實現(xiàn)節(jié)水.2.主要的類實現(xiàn) (1).繼承類(2).包括進(jìn)水,排水,

3、洗滌,漂洗,甩干等成員函數(shù)(3).水位的選擇通過參數(shù)傳遞決定進(jìn)水函數(shù)(4).其余通過調(diào)用筒的轉(zhuǎn)動函數(shù)(run)并通過一定的參數(shù)控制實現(xiàn)3.程序設(shè)計步驟選擇水溫放入衣物選擇洗衣模式脫水排水烘干關(guān)閉5 設(shè)計與實現(xiàn)過程:1.洗衣機類的部分實現(xiàn):import javax.swing.*;import java.awt.*;import java.awt.event.*;public class Washing extends JAppletprivate JFrame jf;private JButton jb1,jb2,jb3,jb4,jb5,jb6;public static void main(

4、String args)Washing flowTest=new Washing();flowTest.setSize(270,160);flowTest.go();/flowTest.show(true);public void go()jf=new JFrame(洗衣機功能模擬器);Container cp=jf.getContentPane();cp.setLayout(null);jb1=new JButton(入水);jb2=new JButton(加衣);jb3=new JButton(脫水);jb4=new JButton(排水);jb5=new JButton(烘干);jb6=

5、new JButton(關(guān)閉);/Container cp=jf.getContentPane();/cp.setLayout(new BorderLayout();jb1.setBounds(10, 10, 80, 80);cp.add(jb1);/指定組件追加到這個容器的末尾。這是一個方便的方法為addImpl。/注意:如果一個組件已被添加到一個已顯示的容器,驗證必須在該容器調(diào)用,以顯示新的組件。如果正在添加多個組件,你可以通過調(diào)用驗證只有一次,已添加的所有組件后提高效率。jb2.setBounds(110, 10, 80, 80);cp.add(jb2);jb3.setBounds(21

6、0, 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);/沒用?/調(diào)整這個組件,所以它具有寬的寬度和高度高度。/cp.add(BorderLayout.SOUTH,jb7);jb1.addActionList

7、ener(new ActionListener()public void actionPerformed(ActionEvent ae)Shuiwen wen=new Shuiwen(););jb2.addActionListener(new ActionListener()public void actionPerformed(ActionEvent ae)Yiwu yi=new Yiwu();yi.go();/flowTest.go(););jb4.addActionListener(new ActionListener()public void actionPerformed(Actio

8、nEvent ae)Chushui Chu=new Chushui(););jb5.addActionListener(new ActionListener()public void actionPerformed(ActionEvent ae)/Piaoxi piao=new Piaoxi();Honggan hong=new Honggan();/Thread t=new Thread(hong); / t.start(););jb3.addActionListener(new ActionListener()public void actionPerformed(ActionEvent

9、ae)Tuoshui tuo=new Tuoshui(););jb6.addActionListener(new ActionListener()/ActionListener接收動作事件的監(jiān)聽器接口。在處理動作事件感興趣的類實現(xiàn)這個接口,這個類創(chuàng)建的對象注冊一個組件,使用組件的addActionListener方法。動作事件發(fā)生時,該對象的actionPerformed方法被調(diào)用。public void actionPerformed(ActionEvent ae)System.exit(0););jf.setSize(700,150);jf.setVisible(true);/顯示或隱藏這

10、個窗口根據(jù)參數(shù)b值。2,.按鈕界面的實現(xiàn):public void go()jf=new JFrame(洗衣機功能模擬器);Container cp=jf.getContentPane();cp.setLayout(null);jb1=new JButton(入水);jb2=new JButton(加衣);jb3=new JButton(脫水);jb4=new JButton(排水);jb5=new JButton(烘干);jb6=new JButton(關(guān)閉);/Container cp=jf.getContentPane();/cp.setLayout(new BorderLayout();

11、jb1.setBounds(10, 10, 80, 80);cp.add(jb1);/指定組件追加到這個容器的末尾。這是一個方便的方法為addImpl。/注意:如果一個組件已被添加到一個已顯示的容器,驗證必須在該容器調(diào)用,以顯示新的組件。如果正在添加多個組件,你可以通過調(diào)用驗證只有一次,已添加的所有組件后提高效率。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

12、(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);/沒用?/調(diào)整這個組件,所以它具有寬的寬度和高度高度。/cp.add(BorderLayout.SOUTH,jb7);jb1.addActionListener(new ActionListener()public void actionPerformed(ActionEvent ae)Shuiwen wen=new

13、 Shuiwen(););jb2.addActionListener(new ActionListener()public void actionPerformed(ActionEvent ae)Yiwu yi=new Yiwu();yi.go(););jb4.addActionListener(new ActionListener()public void actionPerformed(ActionEvent ae)Chushui Chu=new Chushui(););jb5.addActionListener(new ActionListener()public void action

14、Performed(ActionEvent ae)/Piaoxi piao=new Piaoxi();Honggan hong=new Honggan();/Thread t=new Thread(hong); / t.start(););jb3.addActionListener(new ActionListener()public void actionPerformed(ActionEvent ae)Tuoshui tuo=new Tuoshui(););jb6.addActionListener(new ActionListener()/ActionListener接收動作事件的監(jiān)聽器

15、接口。在處理動作事件感興趣的類實現(xiàn)這個接口,這個類創(chuàng)建的對象注冊一個組件,使用組件的addActionListener方法。動作事件發(fā)生時,該對象的actionPerformed方法被調(diào)用。public void actionPerformed(ActionEvent ae)System.exit(0););jf.setSize(620,160);jf.setVisible(true);/顯示或隱藏這個窗口根據(jù)參數(shù)b值。6、 實驗過程【截圖】【1】.功能菜單:【2】.選擇溫度【3】.加衣【4】.泡洗【5】脫水【6】.出水【6】.烘干七、技巧與體會 本次對洗衣機仿真系統(tǒng)的實現(xiàn)對于基礎(chǔ)較為薄弱的自

16、己是一次不小的任務(wù),從中學(xué)會了很多東西,對軟件工程導(dǎo)論這么課關(guān)于需求,關(guān)于可行性,關(guān)于模型的建立,對Java這門語言的基本語法和運用技巧和界面設(shè)計有了一定的了解。另外、由于以前寫程序參照的居多,第一次知道要做此程序設(shè)計的時候心理很是沒底,不知從何下手.本想按要求用C+,后來同學(xué)們都說java的界面比較好做,于是決定用java,雖然java還沒有學(xué)完,但和學(xué)過的某些語言相通的地方還是不少的,做起來也沒有感到很大的困難,就是在如何把界面和類的運行聯(lián)系起來上糾結(jié)了好幾天,最終程序只是能運行簡單的功能,并沒有達(dá)到預(yù)期的效果.以后我會繼續(xù)努力的!8、 代碼:1./import java.awt.Bord

17、erLayout;/import java.awt.Color;/import java.awt.Container;/import java.awt.Dimension;import java.awt.*;/import java.awt.event.ActionEvent;/import java.awt.event.ActionListener;import java.awt.event.*;/import javax.swing.JButton;/import javax.swing.JFrame;/import javax.swing.JLabel;/import javax.swi

18、ng.JPanel;/import javax.swing.JProgressBar;/import javax.swing.Timer;import javax.swing.*;/import javax.swing.event.ChangeEvent;/import javax.swing.event.ChangeListener;import javax.swing.event.*;public class Chushui implements ActionListener,ChangeListener JFrame frame=null;JProgressBar progressbar

19、;JLabel label;Timer timer;JButton b;public Chushui() frame=new JFrame(出水); frame.setBounds(400, 200, 300, 500); / frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/控制窗口關(guān)閉 Container contentPanel=frame.getContentPane(); label=new JLabel(,JLabel.CENTER); progressbar = new JProgressBar(); progressba

20、r.setOrientation(JProgressBar.VERTICAL);/進(jìn)度條方向 progressbar.setMinimum(0); progressbar.setMaximum(100); progressbar.setValue(100);/起始值 progressbar.setStringPainted(true); progressbar.addChangeListener(this); progressbar.setPreferredSize(new Dimension(300,20); progressbar.setBorderPainted(true); /prog

21、ressbar.setBackground(Color.pink); progressbar.setForeground(Color.GRAY);/進(jìn)度條顏色 JPanel panel=new JPanel(); b=new JButton(出水); b.setForeground(Color.blue);/按鈕顏色 b.addActionListener(this); panel.add(b); timer=new Timer(100,this); contentPanel.add(panel,BorderLayout.NORTH); contentPanel.add(progressbar

22、,BorderLayout.CENTER); contentPanel.add(label,BorderLayout.SOUTH); /frame.pack(); frame.setVisible(true);public void actionPerformed(ActionEvent e) if(e.getSource()=b) timer.start(); if(e.getSource()=timer) int value=progressbar.getValue(); if(value0) progressbar.setValue(-value); else timer.stop();

23、 /frame.dispose(); public void stateChanged(ChangeEvent e1) int value=progressbar.getValue(); if(e1.getSource()=progressbar) label.setText(目前剩余:+Integer.toString(value)+%); label.setForeground(Color.blue); public static void main(String args) Chushui Chu=new Chushui();2、import java.awt.*;import java

24、.awt.event.*;import javax.swing.*;import javax.swing.event.*;public class Honggan implements ActionListener,ChangeListener JFrame frame=null;JProgressBar progressbar;JLabel label;Timer timer;JButton b;public Honggan() frame=new JFrame(烘干); frame.setBounds(400, 400, 400, 200); / frame.setDefaultClose

25、Operation(JFrame.EXIT_ON_CLOSE);/控制窗口關(guān)閉 Container contentPanel=frame.getContentPane(); label=new JLabel(,JLabel.CENTER); progressbar = new JProgressBar(); /progressbar.setOrientation(JProgressBar.VERTICAL);/進(jìn)度條方向 progressbar.setMinimum(0); progressbar.setMaximum(100); progressbar.setValue(0); progre

26、ssbar.setStringPainted(true); progressbar.addChangeListener(this); progressbar.setPreferredSize(new Dimension(300,20); progressbar.setBorderPainted(true); /progressbar.setBackground(Color.pink); JPanel panel=new JPanel(); b=new JButton(開始); b.setForeground(Color.blue);/按鈕顏色 b.addActionListener(this)

27、; panel.add(b); timer=new Timer(100,this); contentPanel.add(panel,BorderLayout.NORTH); contentPanel.add(progressbar,BorderLayout.CENTER); contentPanel.add(label,BorderLayout.SOUTH); /frame.pack(); frame.setVisible(true);public void actionPerformed(ActionEvent e) if(e.getSource()=b) timer.start(); if

28、(e.getSource()=timer) int value=progressbar.getValue(); if(value100) progressbar.setValue(+value); else timer.stop(); /frame.dispose(); public void stateChanged(ChangeEvent e1) public static void main(String args) Honggan Hong=new Honggan();3、import java.awt.*;import java.awt.event.*;import javax.sw

29、ing.*;import javax.swing.event.*;public class Paoxi implements ActionListener,ChangeListener JFrame frame=null;JProgressBar progressbar;JLabel label;Timer timer;JButton a,b,c;public Paoxi() frame=new JFrame(泡洗); frame.setBounds(400, 400, 400, 200); / frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLO

30、SE);/控制窗口關(guān)閉 Container contentPanel=frame.getContentPane(); label=new JLabel(,JLabel.CENTER); progressbar = new JProgressBar(); /progressbar.setOrientation();/進(jìn)度條方向 progressbar.setMinimum(0); progressbar.setMaximum(100); progressbar.setValue(0); progressbar.setStringPainted(true); progressbar.addChan

31、geListener(this); progressbar.setPreferredSize(new Dimension(300,20); progressbar.setBorderPainted(true); /progressbar.setBackground(Color.pink); JPanel panel=new JPanel(); a=new JButton(標(biāo)準(zhǔn)); a.setForeground(Color.blue);/按鈕顏色 a.addActionListener(this); panel.add(a); timer=new Timer(100,this); conten

32、tPanel.add(panel,BorderLayout.NORTH); contentPanel.add(progressbar,BorderLayout.CENTER); contentPanel.add(label,BorderLayout.SOUTH); /frame.pack(); frame.setVisible(true); JPanel panel2=new JPanel(); b=new JButton(快洗); b.setForeground(Color.blue);/按鈕顏色 b.addActionListener(this); panel.add(b); timer=

33、new Timer(100,this); contentPanel.add(panel,BorderLayout.NORTH); contentPanel.add(progressbar,BorderLayout.CENTER); contentPanel.add(label,BorderLayout.SOUTH); /frame.pack(); frame.setVisible(true); JPanel panel3=new JPanel(); c=new JButton(強洗); c.setForeground(Color.blue);/按鈕顏色 c.addActionListener(

34、this); panel.add(c); timer=new Timer(100,this); contentPanel.add(panel,BorderLayout.NORTH); contentPanel.add(progressbar,BorderLayout.CENTER); contentPanel.add(label,BorderLayout.SOUTH); /frame.pack(); frame.setVisible(true);public void actionPerformed(ActionEvent e) if(e.getSource()=a) timer.start(

35、); if(e.getSource()=timer) int value=progressbar.getValue(); if(value100) progressbar.setValue(+value); else timer.stop(); /frame.dispose(); if(e.getSource()=b) timer.start(); if(e.getSource()=timer) int value=progressbar.getValue(); if(value100) progressbar.setValue(+value); else timer.stop(); /fra

36、me.dispose(); if(e.getSource()=c) timer.start(); if(e.getSource()=timer) int value=progressbar.getValue(); if(value100) progressbar.setValue(+value); else timer.stop(); /frame.dispose(); public void stateChanged(ChangeEvent e1) public static void main(String args) Paoxi pao=new Paoxi();4、import java

37、.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;public class Shuiwen implements ActionListener,ChangeListener JFrame frame=null;JProgressBar progressbar;JLabel label;Timer timer;JButton a,b,c;public Shuiwen() frame=new JFrame(溫度); frame.setBounds(400, 100, 400, 600); /

38、 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/控制窗口關(guān)閉 Container contentPanel=frame.getContentPane(); label=new JLabel(,JLabel.CENTER); progressbar = new JProgressBar(); progressbar.setOrientation(JProgressBar.VERTICAL); /progressbar.setOrientation();/進(jìn)度條方向 progressbar.setMinimum(0); progress

39、bar.setMaximum(100); progressbar.setValue(0); progressbar.setStringPainted(true); progressbar.addChangeListener(this); progressbar.setPreferredSize(new Dimension(300,20); progressbar.setBorderPainted(true); /progressbar.setBackground(Color.pink); JPanel panel=new JPanel(); a=new JButton(30-50); a.se

40、tForeground(Color.blue);/按鈕顏色 a.addActionListener(this); panel.add(a); timer=new Timer(100,this); contentPanel.add(panel,BorderLayout.NORTH); contentPanel.add(progressbar,BorderLayout.CENTER); contentPanel.add(label,BorderLayout.SOUTH); /frame.pack(); frame.setVisible(true); JPanel panel2=new JPanel

41、(); b=new JButton(50-70); b.setForeground(Color.blue);/按鈕顏色 b.addActionListener(this); panel.add(b); timer=new Timer(100,this); contentPanel.add(panel,BorderLayout.NORTH); contentPanel.add(progressbar,BorderLayout.CENTER); contentPanel.add(label,BorderLayout.SOUTH); /frame.pack(); frame.setVisible(t

42、rue); JPanel panel3=new JPanel(); c=new JButton(70-90); c.setForeground(Color.blue);/按鈕顏色 c.addActionListener(this); panel.add(c); timer=new Timer(100,this); contentPanel.add(panel,BorderLayout.NORTH); contentPanel.add(progressbar,BorderLayout.CENTER); contentPanel.add(label,BorderLayout.SOUTH); /fr

43、ame.pack(); frame.setVisible(true);public void actionPerformed(ActionEvent e) if(e.getSource()=a) timer.start(); if(e.getSource()=timer) int value=progressbar.getValue(); if(value100) progressbar.setValue(+value); else timer.stop(); /frame.dispose(); if(e.getSource()=b) timer.start(); if(e.getSource

44、()=timer) int value=progressbar.getValue(); if(value100) progressbar.setValue(+value); else timer.stop(); /frame.dispose(); if(e.getSource()=c) timer.start(); if(e.getSource()=timer) int value=progressbar.getValue(); if(value100) progressbar.setValue(+value); else timer.stop(); /frame.dispose(); pub

45、lic void stateChanged(ChangeEvent e1) public static void main(String args) Shuiwen wen=new Shuiwen();5、import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;public class Tuoshui implements ActionListener,ChangeListener JFrame frame=null;JProgressBar progressbar;JL

46、abel label;Timer timer;JButton b;public Tuoshui() frame=new JFrame(脫水); frame.setBounds(400, 400, 400, 200); / frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/控制窗口關(guān)閉 Container contentPanel=frame.getContentPane(); label=new JLabel(,JLabel.CENTER); progressbar = new JProgressBar(); /progressbar.

47、setOrientation(JProgressBar.VERTICAL);/進(jìn)度條方向 progressbar.setMinimum(0); progressbar.setMaximum(100); progressbar.setValue(0); progressbar.setStringPainted(true); progressbar.addChangeListener(this); progressbar.setPreferredSize(new Dimension(300,20); progressbar.setBorderPainted(true); /progressbar.setBackground(Color.pink); JPanel panel=new JPanel(); b=new JButton(開始); b.setForeground(Color.blue);/按鈕顏色 b.addActionListener(this); panel.add(b); timer=new Timer(100,this); contentPanel.add(panel,BorderLayout.NORTH); contentPanel.add(progressbar,BorderLayout.CENTER); contentPanel

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論