下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、酞憶脹雙壺一6序號:108多媒體技術(shù)與應(yīng)用實(shí)驗(yàn)報(bào)告20082009學(xué)年第一學(xué)期 學(xué) 院 化學(xué)與分子工程學(xué)院 班浙江理工大學(xué)Java程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告20122013學(xué)年第二學(xué)期信息學(xué)院11數(shù)媒(2)班周咪咪2011329700214任課教師(上課時(shí)間:周二3、4節(jié))數(shù)字媒體技術(shù)專業(yè)2013年5月12Java程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)名稱:圖形用戶界面(2)實(shí)驗(yàn)地點(diǎn):10#414所使用的工具軟件及環(huán)境:Windows2000 或 XP, JDK1.6 與 Eclipse.0一、實(shí)驗(yàn)?zāi)康模? 了解圖形用戶界面基本組件窗口、按鈕、文本框、選擇框、滾動條等的使用 方法。Java的事件處理2. 了解如何使用布局
2、管理器對組件進(jìn)行管理,以及如何使用 機(jī)制。二、實(shí)驗(yàn)內(nèi)容:1.復(fù)選框、單選框、文本區(qū)域、單行文本框等組件的應(yīng)用(1)在App Ite上創(chuàng)建復(fù)選框、單選框、文本區(qū)域、單行文本框等組件,并實(shí)現(xiàn)根據(jù)用戶 輸入的10進(jìn)制數(shù),選擇不同選項(xiàng)可轉(zhuǎn)換為2、& 16進(jìn)制數(shù)。布局組件事件監(jiān)聽源程序:import java.awt.*;/import javax.swi ng.*;/import java.awt.eve nt.*;/P ublic class sy1 exte nds JApplet JLabel Ib1,lb2,lb3;/ 標(biāo)簽JCheckBox chkBox =new JCheckBox
3、4;/ 復(fù)選框JRadioButt on radioBt n =new JRadioButto n4;/單選框JTextField text;/ 文本框JTextArea ta;/ 文本域Butt onGroup btnGrp=new Butt onGroup();/p ublic void in it() setLayout (new FlowLayout();/ ta=new JTextArea(10,30);text =new JTextField(5);String s=text.getText();/text.setText(s);/lb1= new JLabel("lb2
4、=new JLabel("lb3=new JLabel("實(shí)現(xiàn)單選采用流布局從外界輸入數(shù)據(jù)在文本框中顯示出來 輸入10進(jìn)制數(shù)"); 請選擇進(jìn)制:"); 請選擇進(jìn)制:");JScroll Pane sp=new JScroll Pan e(ta,Scroll Pan eCo nsta nts.VERTICAL_SCROLLBAR_ALWAYS,ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);/ 滾動窗口,只顯示垂直 滾動條/添加復(fù)選按鈕事件監(jiān)聽Action Liste ner jin gzhifux
5、ua nListe ner =new Acti on Liste ner() p ublic void actionP erformed(Act ion Eve nt e)if(chkBox0.isSelected()ta.setText("你選擇的是2進(jìn)制"+ln teger.toB in aryStri ng(l nteger. parse In t(text.getText()+"n"); if(chkBox1.isSelected()ta.setText(ta.getText()+" 你選擇的是 8進(jìn)制"+l nteger.t
6、oOctalStri ng(l nteger. parsel nt(text.getText()+"n"); if(chkBox2.isSelected()ta.setText(ta.getText()+" 你選擇的是 16 進(jìn)制"+ln teger.toHexStri ng(l nteger. parse In t(text.getText()+"n"); if(chkBox3.isSelected()ta.setText(ta.getText()+"你選擇的是 10進(jìn)制"+text.getText()+&quo
7、t;n");/添加單選按鈕事件監(jiān)聽Action Liste ner jin gzhida nxua nListe ner=new Action Liste ner() p ublic void actionP erformed(Act ion Eve nt e) if(radioBt n0.isSelected()ta.setText(ta.getText()+"你選擇的是 2進(jìn)制"+ln teger.toB in aryStri ng(l nteger. parse In t(text.getText()+"n"); if(radioBt n
8、1.isSelected()ta.setText(ta.getText()+"你選擇的是 8進(jìn)制"+I nteger.toOctalStri ng(I nteger. parsel nt(text.getText()+"n"); if(radioBt n2.isSelected()ta.setText(ta.getText()+"你選擇的是 16 進(jìn)制"+ln teger.toHexStri ng(l nteger. parse In t(text.getText()+"n");if(radioBt n3.isSe
9、lected()ta.setText(ta.getText()+"你選擇的是 10進(jìn)制"+text.getText()+"n");add(lb1);/添加組件add(text);add(s p);String chkBoxName="2進(jìn)制","8 進(jìn)制",”16 進(jìn)制","10 進(jìn)制int i;";add(lb2); for(i=0;i<4;i+)chkBoxi=new JCheckBox(chkBoxNamei); chkBoxi.addAct ion Liste ner(j
10、in gzhifuxua nListe ner); add(chkBoxi); add(lb3);for(i=0;i<4;i+)radioBt n i=new JRadioButto n( chkBoxNamei);radioBt ni.addAct ion Liste ner(jin gzhida nxua nListe ner); btn Grp.add(radioBt ni);add(radioBt n i); 分析:首先分析最終應(yīng)用程序得,該程序?yàn)閍pplet小程序,使用JApplet類。需要添加2個(gè)標(biāo)簽,4個(gè)單選按鈕,4個(gè)復(fù)選按鈕,1個(gè)文本框,1個(gè)文本域和1個(gè)滾動窗口,需要通過
11、事件監(jiān) 聽實(shí)現(xiàn)不同按鈕被選中時(shí)的不同功能,也需要添加組(Butt on Group類)來管理單選按鈕組。import java.awt.event.*;/ 事件監(jiān)聽依次創(chuàng)建標(biāo)簽 Ib1、Ib2、lb3,復(fù)選框組 chkBox,單選框組radioBtn,文本框 文本域 ta , ButtonGroup 類對象 btnGrp。在in it函數(shù)中,設(shè)置小應(yīng)用程序的布局方式、初始化組件。定義字符串s從外界輸入字符,再將字符顯示在文本框(1) 程序中需要使用布局器、事件監(jiān)聽和組件,所以要繼承類import java.awt.*;/布局 import javax.swing.*;/ 組件、(2)text,
12、(3)text 中。(4)定義滾動窗口 sp,設(shè)置只顯示垂直滾動條(Scroll Pan eCo nsta nts.VERTICAL_SCROLL(5)BAR_ALWAYS 不顯示水平滾動條 (Scroll Pan eCo nsta nts.HORIZONTAL_SCROLLBAR_NEVER, 將文本域ta顯示在一個(gè)視圖中。(6)為復(fù)選按鈕chkBox0 chkBox3設(shè)置事件監(jiān)聽。當(dāng)chkBox0被選中時(shí),調(diào)用toBinaryString函數(shù)將輸入數(shù)據(jù)轉(zhuǎn)換成 2進(jìn)制。相同道理,當(dāng) chkBox1、chkBox2分別被選中時(shí),依次調(diào)用toOctalString 、toHexString 將輸
13、入數(shù)據(jù)轉(zhuǎn)換成8進(jìn)制和16進(jìn)制。當(dāng)chkBox3被選中時(shí),只需要從 text中獲取數(shù)據(jù)即可轉(zhuǎn) 換成10進(jìn)制。(7) 為單選按鈕radioBtn0 radioBtn3 設(shè)置事件監(jiān)聽。與復(fù)選按鈕被選中的情況相同,不同單選按鈕被選中時(shí),調(diào)用不同函數(shù)實(shí)現(xiàn)功能。(8)定義一個(gè)字符串組 chkBoxName存儲按鈕的名稱。(9) 循環(huán)語句中,將字符串?dāng)?shù)組添加為單選和復(fù)選按鈕的名稱,為每個(gè)按鈕添加事件監(jiān)聽,將按鈕依次添加到容器中顯示,并為單選按鈕添加btnGrp組進(jìn)管理實(shí)現(xiàn)單選效果。(10)依次為小應(yīng)用程序添加組件,注意組件添加順序不得顛倒。運(yùn)行結(jié)果:廠= | QI I越小也用程序查春器:syl.ciass
14、小應(yīng)用程序輸AlOifi制數(shù)130僦擇的是2®制罰嘰 佛迭擇的是且進(jìn)制202 你選擇的是代逬制曬 你選擇的尉瞇制1如 傑選釋的是祐遊制曬請選畸S制:0 2進(jìn)制 0瞬制 蘭備遴制 010»制請選釋進(jìn)制=3 2ifi制 0 3進(jìn)制 ®代進(jìn)制 OlOitt制已啟動小應(yīng)用程序o2.在JFrame窗口中添加組件(1) 程序功能:創(chuàng)建JFrame窗口,并在其中 添加工具欄。(2) 準(zhǔn)備圖片文件:在當(dāng)前目錄下建立一個(gè)image文件夾,存放3個(gè)圖片文件, 例如源代碼:import javax.swi ng.*;import java.awt.*;import java.awt.e
15、ve nt.*;/繼承了 JFrame類,并實(shí)現(xiàn)了事件監(jiān)聽接口P ublic class LX5_2 exte nds JFrame imp leme nts Action Liste ner JButton butt on 1,butto n2,butt on 3;/按鈕JToolBar toolBar;/ 工具條JTextArea textArea;/ 文本域JScroll Pane scroll Pane;/滾動窗口JPanel pan el;/面板p ublic static void main( Stri ng args) new LX5_2();public LX5_2() sup
16、er("帶有工具欄按鈕的窗口");/框架標(biāo)題addWi ndowListe ner(n ew Win dowAda pter() /添加事件監(jiān)聽,關(guān)閉窗口p ublic void win dowClos in g(Wi ndowEve nt e) System.exit(O););butt on仁new JButt on(new Imagelc on ("image/1.j pg");/ butt on2=new JButt on(new ImageIc on ("image/2.j pg"); butt on3=new JButt
17、on(new ImageIc on ("image/3.j pg"); butto n1.addActio nListe ner(this);/為按鈕依次添加事件監(jiān)聽butt on 2.addActi on Liste ner(this); butt on 3.addActi on Liste ner(this);toolBar= new JToolBar();/將按鈕依次添加到工具欄中toolBar.add(butto n1);toolBar.add(butto n2); toolBar.add(butto n3); textArea=new JTextArea(6,30
18、);/創(chuàng)建文本域scroll Pane=new JScroll Pan e(textArea);/創(chuàng)建滾動窗口pan el=new JPan el();/創(chuàng)建面板setCo ntentPane(pan el);/將面板設(shè)置為框架的內(nèi)容窗口pan el.setLayout( new BorderLayout();/設(shè)置面板為邊界布局pan el.set PreferredSize( new Dime nsio n(300,150);pan el.add(toolBar,BorderLayout.NORTH);/pan el.add(scroll Pan e,BorderLayout.CENTER
19、);/ pack();show();p ublic void actionP erformed(Act ionEvent e) /Stri ng s=""if (e.getSource()=butt on1)s="左按鈕被單擊n"else if (e.getSource()=butt on2)s="中按鈕被單擊n"else if (e.getSource()=butt on3)s="右按鈕被單擊n"textArea.append(s);/將字符串s的內(nèi)容添加到文本域中 分析:(1) 布局(2)(3)程序中需要用到組
20、件、import javax.swi ng.*;/首先聲明3個(gè)按鈕、定義LX5_2函數(shù)。設(shè)置框架標(biāo)題為為按鈕添加圖片將工具條添加到面板中將滾動窗口添加到面板中為按鈕添加事件監(jiān)聽布局管理器和事件監(jiān)聽器,所以要繼承類import java.awt.*;/組件、import java.awt.event.*;/ 事件監(jiān)聽1個(gè)工具欄、1個(gè)文本域、1個(gè)滾動窗口和1個(gè)面板。"帶有工具欄按鈕的窗口”,為窗口添加一個(gè)事件監(jiān)聽。當(dāng)退出程序時(shí),關(guān)閉窗口。(4) 創(chuàng)建按鈕,將圖片"image/1.jpg"、"image/2.jpg"、"image/3.jp
21、g"依次添加到 3個(gè)按鈕上, 并把相應(yīng)圖片放置到程序所在位置。2 - 二 ri.-二二“左(5) 依次為按鈕添加事件監(jiān)聽。創(chuàng)建事件監(jiān)聽時(shí),當(dāng)button1被選中時(shí)在文本域內(nèi)顯示按鈕被單擊”;當(dāng)button2被選中時(shí)在文本域中顯示“中按鈕被單擊”;當(dāng)button3被選中時(shí)在文本域中顯示“右按鈕被單擊”。(6)依次將按鈕添加到工具欄中。(7) 再創(chuàng)建一個(gè)面板,設(shè)置面板為邊界布局并設(shè)定大小。將工具條添加在面板的北部,將滾動窗口添加到面板的中心位置,將其設(shè)置為框架的內(nèi)容窗口顯示在框架中。運(yùn)行結(jié)果:左按&械單擊 中按鈕被單擊 右扶齟單擊 中按鈕撚單擊 右抿鈕械單擊3.對話框?qū)崿F(xiàn):可以使
22、用JSwing中的JOptionPane類。編寫LX5_3.java 程序文件,選擇單選按鈕,跳出相應(yīng)對話框. 源程序:import javax.swi ng.*;import java.awt.*;import java.awt.eve nt.*;Public class LX5 33 extends JFrame p ublic LX5_33() setTitle(”對話框演示");/ 框架標(biāo)題設(shè)置大小EXIT_ON_CLOS E創(chuàng)建單選按鈕單選組采用網(wǎng)格布局setBou nds(200,300,400,300);/ setDefaultClose Op erati on( JF
23、rame. radioBt n=new JRadioButto n4;/Butt onGroup btnGrp=new Butt onGroup();/ setLayout (new GridLayout(4,1,10,10);/添加事件監(jiān)聽Action Liste ner messageListe ner=new Actio nListe ner() / p ublic void actio nP erformed(Actio nEvent e) if(radioBt n O.isSelected()String choices1=" 確定""程序錯(cuò)誤"
24、;,"錯(cuò) 創(chuàng)建選擇對話框JOp tio nPane. show Op ti on Dialog (nu II, ",0,J Op tio nPane.ERROR_MESSAGl&hoices1,choices10); /if(radioBt n1.isSelected()/創(chuàng)建確認(rèn)對話窗選擇一個(gè)","選",JOptionPane. YES_NO_CANCEL_OPTOpNonPane. QUESTION_MESSAGEJOptionPane.showConfirmDialog (null,"請if(radioBt n2.isS
25、elected()String str="金牌","銀牌","銅牌"/for(i nt i=0;i<3;i+)cb.addltem(stri);/JComboBox cb=new JComboBox();/創(chuàng)建下拉框?yàn)橄吕蛱砑舆x項(xiàng)Object p=" 金牌","銀牌","銅牌"創(chuàng)建輸入對話框的 選擇 是Object xuanzhe=JOptionPane. showInputDialog (nuII," 選擇一 ","輸入",J
26、OptionPane. INFORMATION_MESSAG旳,p1);/JOp tio nPane. showMessageDialog null," 你"+xua nzhe.toStri ng();/消息對話框 if(radioBt n3.isSelected()點(diǎn)擊“確定”繼續(xù)",” 創(chuàng)建選擇對話框String choicess="確定","取消"JOptionPane.showOptionDialog (null,"告",0,J Op tio nPane.WARNING_MESSAGEhoices
27、s,choicess0);/;for(i nt i=0;i<4;i+)radioBt n i=new JRadioButto n(rbn amei);/為按鈕添加名稱radioBt n i.addActi on Liste ner(messageListe ner);/為按鈕添加事件監(jiān)聽把按鈕添加到框架中bt nGrp.add(radioBt ni);/實(shí)現(xiàn)單選管理add(radioBt n i);/JRadioButto n radioBt n;錯(cuò)誤對話框","內(nèi)部消息對話框","選擇對話框","警告對話Strin g rbn
28、 ame=" 框"P ublic static void main( Stri ng args) / TODO Auto-ge nerated method stub LX5_33 frm=new LX5_33(); frm.setVisible(true);分析:分析程序結(jié)果可知,該程序是基于JFrame類的程序。程序采用網(wǎng)格布局,每一行有一個(gè)單選按鈕,共有4個(gè)按鈕,需要通過組btnGrp實(shí)現(xiàn)單選按鈕額控制。通過對每個(gè)單選按鈕添加事件監(jiān)聽,實(shí)現(xiàn)當(dāng)按下不同按鈕時(shí)觸發(fā)不同的對話框。程序中需要用到組件、布局管理器和事件監(jiān)聽器,所以要繼承類import java.awt.*;/import javax.swing.*;/ 組件、import java.awt.event.*;/ 事件監(jiān)聽首先在LX5_33類中為框架設(shè)置標(biāo)題、大小和布局方式。再定義4個(gè)單選按鈕、1個(gè)單選按鈕組。為單選按鈕添加事件監(jiān)
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度電力工程項(xiàng)目檔案管理承包合同3篇
- 2024年城市亮化工程采購合同2篇
- 2024年度投標(biāo)專員招標(biāo)項(xiàng)目合同解除及違約責(zé)任合同3篇
- 2024年標(biāo)準(zhǔn)離婚合同范本:詳盡條款解析一
- 2024年按揭中二手房買賣合同范本(含違約責(zé)任明確條款)3篇
- 2024年生產(chǎn)線建設(shè)與環(huán)境保護(hù)合同3篇
- 2024年瑜伽館與公益活動組織合作合同2篇
- 2024年房產(chǎn)買賣合同附抵押權(quán)設(shè)定及貸款還款期限調(diào)整0193篇
- 2024年度項(xiàng)目負(fù)責(zé)人任期目標(biāo)管理與聘用合同3篇
- 2024年度船舶租賃合同模板3篇
- 歌唱語音智慧樹知到期末考試答案章節(jié)答案2024年齊魯師范學(xué)院
- MOOC 美在民間-南京農(nóng)業(yè)大學(xué) 中國大學(xué)慕課答案
- 建筑工程施工特點(diǎn)及傷亡事故預(yù)防措施
- 設(shè)備故障報(bào)修維修記錄單
- 一般行業(yè)建設(shè)項(xiàng)目安全條件和設(shè)施綜合分析報(bào)告
- 四年級體育與健康上冊復(fù)習(xí)題與答案
- 工程水文學(xué)總復(fù)習(xí)綜述
- 蹲踞式跳遠(yuǎn)教學(xué)課件
- 智能系統(tǒng)工程自評報(bào)告
- 賽柏斯涂層防水施工工法
- 2_電壓降計(jì)算表(10kV及以下線路)
評論
0/150
提交評論