版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年餐館合伙合同協(xié)議書范例
- 2023-2024年初級經(jīng)濟(jì)師之初級經(jīng)濟(jì)師財政稅收押題練習(xí)試題B
- 2024年蒸壓加氣混凝土砌塊建筑應(yīng)用技術(shù)研發(fā)合同
- 2024拖育綜合服務(wù)中心建設(shè)項目合同示例6篇
- 2024版房產(chǎn)損害賠償協(xié)議3篇
- 2024年生態(tài)農(nóng)業(yè)生石灰使用合同樣本3篇
- 2024年連鎖加盟經(jīng)營合同協(xié)議
- 勞務(wù)派遣市場分析協(xié)議書
- 勘察合同的范本(2篇)
- 2024欠條模板:房屋租賃分期付款協(xié)議3篇
- DB-T 29-202-2022 天津市建筑基坑工程技術(shù)規(guī)程
- DB51∕T 5060-2013 四川省預(yù)拌砂漿生產(chǎn)與應(yīng)用技術(shù)規(guī)程
- 粵教版三年級勞動與技術(shù)全冊教案教學(xué)設(shè)計
- 越努力越幸運商務(wù)紅色工作匯報PPT模板
- (完整版)外科學(xué)名詞解釋【完整版】
- 永磁同步電機(jī)控制系統(tǒng)設(shè)計與仿真畢業(yè)論文
- 傳感器與檢測技術(shù)課后習(xí)題和答案(陳杰)
- 醫(yī)用紅外熱像儀
- 藏歷新年ppt模版課件
- 基于PLC的自動門控制系統(tǒng)
- 滬教牛津版小學(xué)四年英語上冊全冊教案
評論
0/150
提交評論