Java自動售貨機(jī)-_第1頁
Java自動售貨機(jī)-_第2頁
Java自動售貨機(jī)-_第3頁
Java自動售貨機(jī)-_第4頁
Java自動售貨機(jī)-_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.awt.Toolkit; public class VendingMachine implements ActionListener /*容器變量的定義*/ JFrame frame ; JPanel panelMain; /自動售貨機(jī)的最外面的容器 Box boxControl1; JPanel panelChooseProduct,panelControl2; JPanel panelIn = new JPanel9; JPanel p

2、anelInSouth = new JPanel9; JPanel panelAdvertisement,panelProductout,panelTakeButton,panelTips,panelNull; JPanel panelInserCoin = new JPanel(; /*Label的定義*/ JLabel labelPrice = new JLabel9; JLabel labelAdvertisement,labelProductOut,labelCoinout,labelNull; /*按鈕變量的定義*/ JButton buttonProduct = new JButt

3、on9; /buttonProducti用于顯示商品圖片 JButton buttonTakeProduct,buttonHelp,buttonCopyright,buttonInsertCoin,buttonMoneyBack; JButton buttonQuit; /*/ JTextField textMoneyDisplay; /金額顯示 int storage = 4,4,4,4,4,4,4,4,4; /庫存量定義,每個商品的初始庫存量為4 int price = 1,4,3,2,3,4,2,2,2; /商品價格定義 int amount,errorcount,occupy; Ima

4、geIcon productImage = new ImageIcon9; /productImage為裝商品圖片對象的數(shù)組 ImageIcon imageBegin,imageCoinin,imageCoinout; ImageIcon imageNull; /imageNull為售罄后顯示的圖片 ImageIcon adImage; /adImage為裝廣告圖片對象的數(shù)組 Timer timer; /限時操作計時器 int ptr = 0; int ptr2 = 0; /* 初始化函數(shù) 構(gòu)建圖形用戶界面 */ public VendingMachine( /* 商品選購區(qū)界面設(shè)計 pane

5、lChooseProduct為內(nèi)置商品子容器panelIn的中間容器 panelIn內(nèi)含商品圖片,價格 */ panelChooseProduct = new JPanel(new GridLayout(3,3,5,5; productImage0 = new ImageIcon(image/11.jpg; productImage1 = new ImageIcon(image/12.jpg; productImage2 = new ImageIcon(image/13.jpg; productImage3 = new ImageIcon(image/14.jpg; productImage4

6、 = new ImageIcon(image/15.jpg; productImage5 = new ImageIcon(image/16.jpg; productImage6 = new ImageIcon(image/17.jpg; productImage7 = new ImageIcon(image/18.jpg; productImage8 = new ImageIcon(image/19.jpg; for(int i = 0;i= pricei & storagei 0 ptr2 = 0; if(occupy=0/在取貨口出現(xiàn)用戶購買的商品 labelProductOut.setI

7、con(productImagei; occupy+; amount -= pricei; /金額減少 textMoneyDisplay.setText(總金額:¥+String.valueOf(amount+.0; storagei -; /庫存量減少 if(storagei = 0 buttonProducti.setBackground(Color.red; buttonProducti.setIcon(imageNull; errorcount = 0; /錯誤操作次數(shù) 清零 else if(amount = 3 /錯誤操作次數(shù)超過三次(包括三次),系統(tǒng)自動退幣,對話框提示 retur

8、nCoin(; JOptionPane.showMessageDialog(null,您連續(xù)錯誤操作三次,系統(tǒng)自動退幣!注意取幣,WARNING,JOptionPane.WARNING_MESSAGE; else /提示金額不足 Toolkit.getDefaultToolkit(.beep(; /發(fā)出系統(tǒng)聲音提示 String moneyShortage= 錯誤1; /對話框提示 dialog(moneyShortage; else /連續(xù)錯誤操作三次,系統(tǒng)將自動退幣 errorcount +; if(errorcount = 3 returnCoin(; JOptionPane.showM

9、essageDialog(null,您連續(xù)錯誤操作三次,系統(tǒng)自動退幣!注意取幣,WARNING,JOptionPane.WARNING_MESSAGE; else String storageShortage = 錯誤2; Toolkit.getDefaultToolkit(.beep(; dialog(storageShortage; /* 提示對話框方法dialog(String s1 s1為輸入?yún)?shù),以彈出相對應(yīng)的dialog */ public void dialog(String s1 /提示對話框方法 if(s1=幫助 /用戶點擊“幫助”按鈕,彈出幫助提示對話框 String he

10、lp=歡迎使用本自動售貨機(jī)!請您按照以下步驟購買您所需的商品:n +/幫助提示內(nèi)容 1.在右上角投幣口投入硬幣;n + 2.選擇好您購買的商品后,按下購買鍵;n + 3.您可以在金額充足的情況下連續(xù)購買商品,也可以在續(xù)投硬幣后繼續(xù)購買商品; n + 4.請及時取走窗口貨物以免影響您的正常使用; n + 5.購買商品后,請取走余額。 n + 【注意】 請按照系統(tǒng)提示進(jìn)行操作。; JOptionPane.showMessageDialog(null,help,幫助,JOptionPane.INFORMATION_MESSAGE; if(s1=聲明 /用戶點擊“聲明”按鈕,彈出聲明聲明對話框 Str

11、ing copyright=如果你喜歡本程序,請加入QQ群進(jìn)行經(jīng)驗交流!;/聲明內(nèi)容 JOptionPane.showMessageDialog(null,copyright,聲明,JOptionPane.INFORMATION_MESSAGE; if(s1=錯誤1 /金額不足提示 String error1= 您的余額不足,請續(xù)投幣后再繼續(xù)使用!; JOptionPane.showMessageDialog(null,error1,提示,JOptionPane.WARNING_MESSAGE; if(s1=錯誤2 /缺貨提示 String error2= 該商品已售罄,請您改天再來購買!;

12、JOptionPane.showMessageDialog(null,error2,提示,JOptionPane.WARNING_MESSAGE; if(s1=錯誤3 /取貨提示 String error3= 請取走窗口內(nèi)貨物后再購買!; JOp tionPane.showMessageDialog(null,error3,提示,JOptionPane.WARNING_MESSAGE; /* 接口實現(xiàn)的方法actionPerformed(ActionEvent e監(jiān)聽用戶動作 根據(jù)不同的事件觸發(fā)源采取相對應(yīng)的操作 */ public void actionPerformed(ActionEve

13、nt e if(e.getSource( = timer /對用戶長時間未作出有效動作,作出警告提示 ptr2+; if(ptr2 = 10 Toolkit.getDefaultToolkit(.beep(; JOptionPane.showMessageDialog(null, 操作超時,系統(tǒng)已退幣, 警告, JOptionPane.WARNING_MESSAGE; returnCoin(; if(e.getSource( = buttonInsertCoin /用戶點擊投幣口投幣操作 inserCoin(; timer.start(; /開始計時, ptr2 = 0; /標(biāo)志位清零 if(

14、e.getSource( = buttonMoneyBack /用戶退幣操作 returnCoin(; JOptionPane.showMessageDialog(null, 請 取 幣!,提示,JOptionPane.WARNING_MESSAGE;/提示用戶取幣 if(e.getSource( = buttonTakeProduct /用戶取貨操作 if(occupy=0 Toolkit.getDefaultToolkit(.beep(; JOptionPane.showMessageDialog(null, 沒有商品可取!,提示,JOptionPane.WARNING_MESSAGE;/

15、提示用戶該窗口無貨物 ptr2 = 0; else takeProduct(; if(e.getSource( = buttonHelp /幫助操作 String help = 幫助; dialog(help; if(e.getSource( = buttonCopyright /版權(quán)聲明 String copyright = 聲明; dialog(copyright; if(e.getSource( = buttonQuit /退出系統(tǒng) JOptionPane.showMessageDialog(null, 歡迎下次使用!, 歡迎下次使用, JOptionPane.INFORMATION_MESSAGE; System.exit(0; for(int i = 0;i9;i+ /判斷用戶購買哪個商品 if(e.

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論