




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.awt.Toolkit; public class VendingMachine implements ActionListener /*容器變量的定義*/ JFrame frame ; JPanel panelMain; /自動(dòng)售貨機(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; /庫(kù)存量定義,每個(gè)商品的初始庫(kù)存量為4 int price = 1,4,3,2,3,4,2,2,2; /商品價(jià)格定義 int amount,errorcount,occupy; Ima
4、geIcon productImage = new ImageIcon9; /productImage為裝商品圖片對(duì)象的數(shù)組 ImageIcon imageBegin,imageCoinin,imageCoinout; ImageIcon imageNull; /imageNull為售罄后顯示的圖片 ImageIcon adImage; /adImage為裝廣告圖片對(duì)象的數(shù)組 Timer timer; /限時(shí)操作計(jì)時(shí)器 int ptr = 0; int ptr2 = 0; /* 初始化函數(shù) 構(gòu)建圖形用戶界面 */ public VendingMachine( /* 商品選購(gòu)區(qū)界面設(shè)計(jì) pane
5、lChooseProduct為內(nèi)置商品子容器panelIn的中間容器 panelIn內(nèi)含商品圖片,價(jià)格 */ 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)用戶購(gòu)買的商品 labelProductOut.setI
7、con(productImagei; occupy+; amount -= pricei; /金額減少 textMoneyDisplay.setText(總金額:¥+String.valueOf(amount+.0; storagei -; /庫(kù)存量減少 if(storagei = 0 buttonProducti.setBackground(Color.red; buttonProducti.setIcon(imageNull; errorcount = 0; /錯(cuò)誤操作次數(shù) 清零 else if(amount = 3 /錯(cuò)誤操作次數(shù)超過(guò)三次(包括三次),系統(tǒng)自動(dòng)退幣,對(duì)話框提示 retur
8、nCoin(; JOptionPane.showMessageDialog(null,您連續(xù)錯(cuò)誤操作三次,系統(tǒng)自動(dòng)退幣!注意取幣,WARNING,JOptionPane.WARNING_MESSAGE; else /提示金額不足 Toolkit.getDefaultToolkit(.beep(; /發(fā)出系統(tǒng)聲音提示 String moneyShortage= 錯(cuò)誤1; /對(duì)話框提示 dialog(moneyShortage; else /連續(xù)錯(cuò)誤操作三次,系統(tǒng)將自動(dòng)退幣 errorcount +; if(errorcount = 3 returnCoin(; JOptionPane.showM
9、essageDialog(null,您連續(xù)錯(cuò)誤操作三次,系統(tǒng)自動(dòng)退幣!注意取幣,WARNING,JOptionPane.WARNING_MESSAGE; else String storageShortage = 錯(cuò)誤2; Toolkit.getDefaultToolkit(.beep(; dialog(storageShortage; /* 提示對(duì)話框方法dialog(String s1 s1為輸入?yún)?shù),以彈出相對(duì)應(yīng)的dialog */ public void dialog(String s1 /提示對(duì)話框方法 if(s1=幫助 /用戶點(diǎn)擊“幫助”按鈕,彈出幫助提示對(duì)話框 String he
10、lp=歡迎使用本自動(dòng)售貨機(jī)!請(qǐng)您按照以下步驟購(gòu)買您所需的商品:n +/幫助提示內(nèi)容 1.在右上角投幣口投入硬幣;n + 2.選擇好您購(gòu)買的商品后,按下購(gòu)買鍵;n + 3.您可以在金額充足的情況下連續(xù)購(gòu)買商品,也可以在續(xù)投硬幣后繼續(xù)購(gòu)買商品; n + 4.請(qǐng)及時(shí)取走窗口貨物以免影響您的正常使用; n + 5.購(gòu)買商品后,請(qǐng)取走余額。 n + 【注意】 請(qǐng)按照系統(tǒng)提示進(jìn)行操作。; JOptionPane.showMessageDialog(null,help,幫助,JOptionPane.INFORMATION_MESSAGE; if(s1=聲明 /用戶點(diǎn)擊“聲明”按鈕,彈出聲明聲明對(duì)話框 Str
11、ing copyright=如果你喜歡本程序,請(qǐng)加入QQ群進(jìn)行經(jīng)驗(yàn)交流!;/聲明內(nèi)容 JOptionPane.showMessageDialog(null,copyright,聲明,JOptionPane.INFORMATION_MESSAGE; if(s1=錯(cuò)誤1 /金額不足提示 String error1= 您的余額不足,請(qǐng)續(xù)投幣后再繼續(xù)使用!; JOptionPane.showMessageDialog(null,error1,提示,JOptionPane.WARNING_MESSAGE; if(s1=錯(cuò)誤2 /缺貨提示 String error2= 該商品已售罄,請(qǐng)您改天再來(lái)購(gòu)買!;
12、JOptionPane.showMessageDialog(null,error2,提示,JOptionPane.WARNING_MESSAGE; if(s1=錯(cuò)誤3 /取貨提示 String error3= 請(qǐng)取走窗口內(nèi)貨物后再購(gòu)買!; JOp tionPane.showMessageDialog(null,error3,提示,JOptionPane.WARNING_MESSAGE; /* 接口實(shí)現(xiàn)的方法actionPerformed(ActionEvent e監(jiān)聽用戶動(dòng)作 根據(jù)不同的事件觸發(fā)源采取相對(duì)應(yīng)的操作 */ public void actionPerformed(ActionEve
13、nt e if(e.getSource( = timer /對(duì)用戶長(zhǎng)時(shí)間未作出有效動(dòng)作,作出警告提示 ptr2+; if(ptr2 = 10 Toolkit.getDefaultToolkit(.beep(; JOptionPane.showMessageDialog(null, 操作超時(shí),系統(tǒng)已退幣, 警告, JOptionPane.WARNING_MESSAGE; returnCoin(; if(e.getSource( = buttonInsertCoin /用戶點(diǎn)擊投幣口投幣操作 inserCoin(; timer.start(; /開始計(jì)時(shí), ptr2 = 0; /標(biāo)志位清零 if(
14、e.getSource( = buttonMoneyBack /用戶退幣操作 returnCoin(; JOptionPane.showMessageDialog(null, 請(qǐng) 取 幣!,提示,JOptionPane.WARNING_MESSAGE;/提示用戶取幣 if(e.getSource( = buttonTakeProduct /用戶取貨操作 if(occupy=0 Toolkit.getDefaultToolkit(.beep(; JOptionPane.showMessageDialog(null, 沒有商品可取!,提示,JOptionPane.WARNING_MESSAGE;/
15、提示用戶該窗口無(wú)貨物 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+ /判斷用戶購(gòu)買哪個(gè)商品 if(e.
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 佛山規(guī)劃測(cè)繪合同范例
- 促進(jìn)多元化經(jīng)營(yíng)拓寬業(yè)務(wù)領(lǐng)域計(jì)劃
- 幼兒心理發(fā)展監(jiān)測(cè)方案計(jì)劃
- 幼兒園多元智能的教研探討計(jì)劃
- 圖書信息存儲(chǔ)管理計(jì)劃
- 班主任早晨例會(huì)機(jī)制計(jì)劃
- 品牌建設(shè)的基礎(chǔ)與重要性計(jì)劃
- 適應(yīng)性學(xué)習(xí)在工作中的應(yīng)用計(jì)劃
- 《桐梓縣獅溪煤業(yè)有限公司貴州省桐梓縣文筆山-瓦窯坪煤礦(新建)礦產(chǎn)資源綠色開發(fā)利用方案(三合一)》評(píng)審意見
- 統(tǒng)編版小學(xué)語(yǔ)文二年級(jí)下冊(cè)第18課《太空生活趣事多》精美課件
- 品管圈PDCA案例-介入中心提高手術(shù)患者交接記錄書寫合格率醫(yī)院品質(zhì)管理成果匯報(bào)
- 第十七屆山東省職業(yè)院校技能大賽中職組“西式烹飪”賽項(xiàng)規(guī)程
- 華東師范大學(xué)《外國(guó)人文經(jīng)典(下)》2022-2023學(xué)年第一學(xué)期期末試卷
- 2024年廣西區(qū)公務(wù)員錄用考試《行測(cè)》真題卷及答案解析
- 電工(初級(jí))考試試卷及答案
- 儲(chǔ)能電池模組PACK和系統(tǒng)集成項(xiàng)目可行性研究報(bào)告
- 2024年安徽省公務(wù)員錄用考試《行測(cè)》真題及解析
- 2024年陜西省中考數(shù)學(xué)試題含答案
- 牙慢性損傷-楔狀缺損
- JTJ034-2000 公路路面基層施工技術(shù)規(guī)范
- 2024-2030年中國(guó)光伏建筑一體化(BIPV)市場(chǎng)規(guī)模預(yù)測(cè)與競(jìng)爭(zhēng)格局分析研究報(bào)告
評(píng)論
0/150
提交評(píng)論