java圖形用戶界面實(shí)驗(yàn)報(bào)告.doc
《java圖形用戶界面實(shí)驗(yàn)報(bào)告.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《java圖形用戶界面實(shí)驗(yàn)報(bào)告.doc(10頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
南京工程學(xué)院實(shí) 驗(yàn) 報(bào) 告課程名稱 JAVA基礎(chǔ) 實(shí)驗(yàn)項(xiàng)目名稱 圖形用戶界面設(shè)計(jì) 實(shí)驗(yàn)學(xué)生班級(jí) 實(shí)驗(yàn)學(xué)生姓名 學(xué)號(hào) 同組學(xué)生姓名 無(wú) 實(shí)驗(yàn)時(shí)間 2012年11月 實(shí)驗(yàn)地點(diǎn) 實(shí)驗(yàn)成績(jī)?cè)u(píng)定 指導(dǎo)教師簽字 年 月 日一、實(shí)驗(yàn)?zāi)康暮鸵?.目的:掌握java AWT及Swing組件的使用方法,包括窗口、框架、對(duì)話框、布局方式、面板、文本編輯器、按鈕、組合框等,合理利用委托事件處理模型,掌握不同組件,不同事件的事件處理方法,設(shè)計(jì)出能夠響應(yīng)事件的java圖形用戶界面。2.要求:設(shè)計(jì)圖形用戶界面,事件處理,異常處理并彈出對(duì)話框,提示重新輸入信息。二、實(shí)驗(yàn)題目驗(yàn)證哥德巴赫猜想,添加圖形用戶界面三、實(shí)驗(yàn)方法與步驟(需求分析、算法設(shè)計(jì)思路、流程圖等)1.添加圖形用戶界面import java.awt.*;import java.awt.event.*;import javax.swing.*;public class GDBH extends Frame implements ActionListener /窗口框架響應(yīng)單擊事件,利用awt組件設(shè)計(jì)框架 private Button button; /按鈕 private TextField text1; /文本行 private TextArea text2; /文本區(qū) public GDBH() super(驗(yàn)證哥德巴赫猜想); /設(shè)置框架窗口標(biāo)題 this.setBounds(450, 200, 350, 400); /設(shè)置框架的位置和尺寸 this.setResizable(false); / 設(shè)置框架大小不可改變 this.setBackground(Color.lightGray); / 設(shè)置窗口背景顏色 this.setLayout(new FlowLayout(); / 默認(rèn)窗口流布局 中對(duì)齊 this.add(new Label(輸入一個(gè)整數(shù)); text1=new TextField(,20); this.add(text1); button=new Button(驗(yàn)證哥德巴赫猜想); this.add(button); button.addActionListener(this); /為按鈕注冊(cè)單擊事件監(jiān)聽器,委托當(dāng)前對(duì)象處理事件 this.setLayout(new FlowLayout(); /默認(rèn)中對(duì)齊 text2=new TextArea(20,25); text2.setEditable(false); this.add(text2); this.setVisible(true); /設(shè)置組件可見 this.addWindowListener(new WinClose(); / 為框架注冊(cè)窗口事件監(jiān)聽器,委托WinClose對(duì)象處理事件 2.實(shí)現(xiàn)單擊事件和窗口事件監(jiān)聽器接口 public void actionPerformed(ActionEvent e) /單擊事件處理方法,實(shí)現(xiàn)ActionListener接口 String str =text1.getText(); /獲得文本行的字符串 try long num = Long.parseLong(str); / 將字符串轉(zhuǎn)化成長(zhǎng)整形 text2.setText(yz(num); catch(NumberFormatException n) JOptionPane.showMessageDialog(this, +str+字符串不能轉(zhuǎn)換成整數(shù),請(qǐng)重新輸入!); return; class WinClose implements WindowListener /實(shí)現(xiàn)窗口事件監(jiān)聽器接口 public void windowClosing(WindowEvent e) / 窗口關(guān)閉事件處理方法 System.exit(0); /程序運(yùn)行結(jié)束 public void windowOpened(WindowEvent e) public void windowClosed(WindowEvent e) public void windowIconified(WindowEvent e) public void windowDeiconified(WindowEvent e) public void windowActivated(WindowEvent e) public void windowDeactivated(WindowEvent e) 3.異常處理若文本行中的字符串不能轉(zhuǎn)化成長(zhǎng)整形,將彈出對(duì)話框“字符串不能轉(zhuǎn)換成整數(shù),請(qǐng)重新輸入!;另外如果所輸入的整數(shù)為小于等于2或大于2小于等于5也會(huì)彈出一個(gè)對(duì)話框“輸入錯(cuò)誤!必須是大于2的偶數(shù)或大于5的奇數(shù)!”(該窗口代碼設(shè)置在yz()函數(shù)中)。try long num = Long.parseLong(str); text2.setText(yz(num); catch(NumberFormatException n) JOptionPane.showMessageDialog(this, +str+字符串不能轉(zhuǎn)換成整數(shù),請(qǐng)重新輸入!); 彈出對(duì)話框 return; 四、實(shí)驗(yàn)原始紀(jì)錄(源程序、數(shù)據(jù)結(jié)構(gòu)等)源程序如下import java.awt.*;import java.awt.event.*;import javax.swing.*;public class GDBH extends Frame implements ActionListener private Button button; private TextField text1; private TextArea text2; public GDBH() super(驗(yàn)證哥德巴赫猜想); this.setBounds(450, 200, 350, 400); this.setResizable(false); this.setBackground(Color.lightGray); this.setLayout(new FlowLayout(); this.add(new Label(輸入一個(gè)整數(shù)); text1=new TextField(,20); this.add(text1); button=new Button(驗(yàn)證哥德巴赫猜想); this.add(button); button.addActionListener(this); this.setLayout(new FlowLayout(); text2=new TextArea(20,25); text2.setEditable(false); this.add(text2); this.setVisible(true); this.addWindowListener(new WinClose(); public static void main(String args) new GDBH(); public void actionPerformed(ActionEvent e) String str =text1.getText(); try long num = Long.parseLong(str); text2.setText(yz(num); catch(NumberFormatException n) JOptionPane.showMessageDialog(this, +str+字符串不能轉(zhuǎn)換成整數(shù),請(qǐng)重新輸入!); return; public String yz(long num) String str1 = ; if(num2&num%2=0) for (long i = 2;i= num / 2; i+) for(long j=num/2;j5&num%2!=0) for(long i=2;inum;i+) for(long j=i;jnum;j+) for(long k=j;knum;k+) if (Prime(i) & Prime(j)&Prime(k) if(num=i+j+k) str1 += num + = + i + + + j + + +k+ ;n; else JOptionPane.showMessageDialog(this, 輸入錯(cuò)誤!必須是大于2的偶數(shù)或大于5的奇數(shù)!); return str1; public boolean Prime(long t) for(long i=2;it;i+) if(t%i=0) return false; return true; class WinClose implements WindowListener public void windowClosing(WindowEvent e) System.exit(0); public void windowOpened(WindowEvent e) public void windowClosed(WindowEvent e) public void windowIconified(WindowEvent e) public void windowDeiconified(WindowEvent e) public void windowActivated(WindowEvent e) public void windowDeactivated(WindowEvent e) 五、實(shí)驗(yàn)結(jié)果及分析(計(jì)算過程與結(jié)果、數(shù)據(jù)曲線、圖表等)1.當(dāng)文本行中的字符串不能轉(zhuǎn)化成長(zhǎng)整形,拋出異常2. 當(dāng)輸入的整數(shù)為小于等于2或大于2小于等于5,彈出對(duì)話框3.當(dāng)輸入偶數(shù)時(shí),顯示結(jié)果如圖4.當(dāng)輸入奇數(shù)時(shí),顯示結(jié)果如圖注:在函數(shù)yz()中,驗(yàn)證奇數(shù)時(shí)應(yīng)規(guī)定3個(gè)素?cái)?shù)的大小順序(ijk),否則會(huì)出現(xiàn)數(shù)據(jù)重復(fù)六、實(shí)驗(yàn)總結(jié)與思考通過本次實(shí)驗(yàn),基本上掌握了使用awt與swing組件設(shè)計(jì)圖形用戶界面的方法,包括對(duì)窗口,對(duì)話框等工具的合理利用。此外,在注冊(cè)單擊事件監(jiān)聽器與窗口事件監(jiān)聽器時(shí),一定要注意響應(yīng)事件,為其提供事件處理方法。另外,在輸入字符串時(shí),要注意拋出異常,當(dāng)字符串不能轉(zhuǎn)化成整數(shù)或所輸入的整數(shù)不符合規(guī)則時(shí),彈出對(duì)話框,顯示輸入錯(cuò)誤,重新輸入。還有,在窗口的文本區(qū)中,所顯示的數(shù)據(jù)要注意其正確性與不重復(fù)性,在函數(shù)中設(shè)定3個(gè)素?cái)?shù)的大小順序就可保證數(shù)據(jù)不重復(fù)。教師評(píng)語(yǔ):- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- java 圖形 用戶界面 實(shí)驗(yàn) 報(bào)告
鏈接地址:http://www.szxfmmzy.com/p-9356317.html