版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、圖形用戶界面的設計和實現(xiàn),教材第7章,JAVAGUI比較容器和布局標準組件事件處理表單,JAVA中常見的圖形用戶界面組件庫,1.awt (abstract 庫中的組件類型很少,速度很快。 2.Swing接口組件的渲染完全是在JAVA自己的完成庫中的組件種類豐富,速度稍有不足3.SWT是Eclipse項目組開發(fā)的類似于AWT的組件庫,在AWT中組件,容器,面板,應用程序,窗口,幀,Dialog,Button,TextField,TextArea,text組件,Checkbox,Menu組件其他組件,獨立,不獨立,容器,1 .用于向容器添加組件的add ()方法。 2 .兩種主要的容器類型:窗口和
2、panel3.窗口是可以顯示畫面上自由浮動的窗口。 不需要其他組件的支撐,獨立顯示。 4.Panel此容器必須存在于其他容器中以供顯示。 容器,基本方法add (組件組件)將指定的組件放到容器上add (組件組件), 索引(intindex )移除(組件組件)刪除指定組件設置布局(布局管理器)容器的布局paint容器(及其上的組件)、容器中組件的2 .使容器的布局管理器setLayout(null )無效的組件本身的setLocation () :調(diào)用組件的定位。 setSize () :定義大小。 等方法完成組件的定位,接口構成,容器,標準組件,用戶定義組件,F(xiàn)ont類,java.awt.F
3、ont設計字體顯示效果(創(chuàng)建字體對象) font fn=new 字體: TimesRoman、Courier、Arial等樣式:三個常數(shù)Font.PLAIN,F(xiàn)ont.BOLD, Font.ITALIC字體大?。菏褂米煮w對象設置某個組件當前使用的字體:獲取setFont(Fontfn )組件當前使用的字體: getFont (), Color類構造函數(shù)1 (設置顏色) colorc=new color (內(nèi),綠,藍)的范圍: 0255 new color (200,200,200 ) new color (255, 0) 100 )構造函數(shù)2顏色=新顏色(int RGB )藍色: 07位綠色:
4、 815位紅色: 1623位顏色常數(shù)值publicstaticfincolorblackcolor.black,Color.blue 標準組件介紹,Label (標簽)構造函數(shù)labela=new label (“信息”); 標簽=新標簽(“信息”,標簽. center )方法a.setText (“新內(nèi)容”); 設定標簽內(nèi)容Stringa.getText (),標簽內(nèi)容Button (按鈕) button MYB=new button (“取消”); TextField行編輯框組件,構造函數(shù)textfield f1=new textfield (30 ) textfield f1=new t
5、extfield (“ABC”,30 ); 創(chuàng)建30個字符寬的行編輯框方法。 StringgetText ()文本框中的內(nèi)容setText(“abc”)設置編輯框中的內(nèi)容setEchoChar(charc )設置回顯字符TextComponent方法: setEditable(false ); 通過使用selectall()7-7計算機、容器組件布局和“布局管理器”(layoutmanager )方法調(diào)用容器的setLayout方法,為容器指定布局管理器的對象。 示例: setLayout(newFlowLayout () )此布局管理器對象確定組件在容器中的位置和大小。 調(diào)用直接管理組件的方
6、法容器的setLayout(null )方法,并關閉布局管理器。 通過調(diào)用每個組件的setLocation ()方法來確定組件的位置。 通過調(diào)用每個組件的setSize ()方法來確定大小。布局管理器的對象、布局管理器的類型、FlowLayout:組件從左到右水平排列在一行中,列滿后borderyouout :北、南、東、西、 中GridLayout :以行和列網(wǎng)格的形式配置組件CardLayout,容器僅顯示多個卡中的一個,并確定容器布局的默認布局管理器Window、Frame、dialogbor 如何選擇AppletFlowLayout:布局管理器創(chuàng)建布局管理器類使用對象容器的設置布局來指
7、定容器的布局(指定布局管理器的對象)示例: my f FlowLayout、importjava.awt.* . publicclassistflowlayoutpublicstaticvoiddmain (string args )幀f=new frame (test flowlayout ) f.set layout (new flowlayout (); button btn1=new button (ok ) button btn2=new button (on ) button btn3=new button (off ) f.add (btn1 ) f.add (btn2 ) f.
8、add (btn3 ) f . publicclasstestborderlayoutpublicstaticvoiddmain button btn1=new button (ok ) button btn2=new button (on ) button btn3=new button (off ) f.add (north,btn1) f.add(South,btn2 ) f . publicclasstestgridyoutpublicstaticvoiddmain (string args )幀f=new frame (gridy out的測試) f.set layout (new
9、gridlayout (2,2 ) ); button btn1=new button (ok ) button btn2=new button (打開) Buttonbtn3=newButton (關閉) f.add (btn1 ) f.add (btn2 ) f.add (btn3 ) f . 100) f.setVisible(true ),布局示例,frame EFM=new frame () FM.set layout (new flowlayout (); TF=新文本(22 ) FM.add (TF )面板p1=新面板(); P1 .設置布局(新柵格(4,3 ) ); p1.ad
10、d (); Panelp2=newPanel (); p2 .設置布局(新柵格(4,3 ) ); p2.add (); fm.add(p1) fm.add(p2 )、7-2布局、事件和處理機制、用戶使用GUI組件時會發(fā)生各種事件。 事件:說明“發(fā)生了什么”的對象。 系統(tǒng)根據(jù)用戶的操作來構建事件類的對象. 事件源:事件的發(fā)生地。 事件處理程序用于接收、分析事件對象并完成事件處理的方法。 每個事件都有一個監(jiān)聽程序界面,它規(guī)定了接收(和處理)此類事件的方法的規(guī)范。 監(jiān)聽程序?qū)崿F(xiàn)了包含事件處理程序的監(jiān)聽程序接口的類。 程序員指定事件源的偵聽程序?qū)ο?用于處理事件的事件處理程序偵聽程序?qū)ο蠓椒?。鼠標單
11、擊按鈕、事件和處理機制、ActionEvent事件、publicvoidactionsperformed (ActionEvent e )、ActionListener接口、actionevent事件為了實現(xiàn)接口、事件處理能力并使一個組件具有事件處理能力,分為三個步驟: 1、some component.addactionlistener (instance of my class );2, publicclssmclusityassemplementsactionlistener 3,publicovidactionsperformed (actionevent e )/事件執(zhí)行代碼,圖形用
12、戶界面編程確定要用于編程的組件庫(awt,swing swt )接口的布局1 .使用自己的布局(setLayout(null )、setLocation,setSize)2.布局貨幣setLayout(newBorderLayout (); setLayout(newGridLayout (); 事件處理程序機構1 .監(jiān)聽程序類使用clssbttuttonlistnerimplementingsactionlisterpublicoditionperformed (actionevent e )2.事件源,將事件轉換為監(jiān)聽程序類例如,使用窗口適配器將classformlistnerimplem
13、entswinddowlistener更改為classformlistnerextendswindowadapter,然后執(zhí)行處理如果用戶點擊按鈕,程序就結束了。 設計器實現(xiàn):在窗口中有文本行和標簽,在文本行中輸入文本,然后按enter鍵,該文本將顯示在標簽上。 創(chuàng)建一個包含菜單欄表單的程序,如下圖所示,實例和。點擊右上角的關閉按鈕和菜單項目的結束,要求程序結束。 圖形用戶界面的示例,importjava.awt.* . 導入Java.awt.event.* classsmyframeextendsframebuttonbtn; MyFrame()super (按鈕形式) BTN=new bu
14、tton (close ) set layout (); setsize (200,100 )添加(BTN ) BTN.addactionlistener (newb處理(); 設置可見性(true ),圖形用戶界面示例,classbprocessimplementationsactionlitynerpublicovidactionperformed (actionevent e ) syst publicclassistpublicstaticvoiddmain (string args ) my frame f1=new frame (); 窗口事件(適配器的說明),關閉窗口框時委托窗口
15、事件: addWindowListener(newWclose (); 定義監(jiān)聽程序類classwclosingimplementationswinddowlistnerpublicvoidwindowclosing (window vente ) system.exit (0)的其他方法,窗口托架窗活動(窗事件)窗關閉(窗事件)窗關閉(窗事件)窗去活動(窗事件)窗窗窗windowiconified (窗事件)窗打開(窗事件)窗適配器:處理系統(tǒng)實現(xiàn)的窗口事件的抽象適配器類是窗監(jiān)聽器接口classswclosedswinddowadapter提供了必要的方法, 只需編寫事件適配器類,窗口適配器MouseMotionAdapter鼠標移動適配器MouseAdapter鼠標適配器KeyAdapter鍵盤適配器FocusAdapter焦點適配器c 塔ComponentAdapter組件適配器、ActionEvent事件原因:單擊按鈕,雙擊列表框中的選項,選擇菜單項。 文本框中的托架事件偵聽程序接口ActionListener接口方法actionPerformed(ActionEvente )組件注冊事件方法addActionListener (TextEvent事件發(fā)生原因:文本框或文本區(qū)域內(nèi)容變更事件監(jiān)聽接口: TextListener接口方法: textValueCh
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學科學教學中智慧教育云平臺在線考試測評系統(tǒng)的科學探究活動設計教學研究課題報告
- 腦出血護理病例分析
- 山東省濟寧市梁山京師華宇高中2026年教師招聘備考題庫及一套完整答案詳解
- 山東高速云南發(fā)展有限公司2025年下半年招聘備考題庫及一套完整答案詳解
- 山西大地環(huán)境投資控股有限公司2025年社會招聘備考題庫有答案詳解
- 2026年涉外業(yè)務保密員能力測試題庫及完整答案一套
- 2026年安徽單招試題新版
- 2026年湖北省襄樊市單招職業(yè)傾向性測試模擬測試卷必考題
- 2026年湖南時政單招試題新版
- 2026年太原旅游職業(yè)學院單招職業(yè)適應性測試題庫及答案1套
- 小型手持式采茶機
- 人工智能與終身學習體系構建研究報告
- 2025杭州市市級機關事業(yè)單位編外招聘考試備考試題及答案解析
- 化學反應原理大題集訓(含解析)-2026屆高中化學一輪復習講義
- 團隊成員介紹課件
- 醫(yī)院敏感數(shù)據(jù)安全管理規(guī)范
- 政協(xié)機車輛管理辦法
- 渝22TS02 市政排水管道附屬設施標準圖集 DJBT50-159
- 母嬰護理員職業(yè)道德課件
- 電力工程應急管理措施
- 2025年高考英語復習難題速遞之語法填空(2025年4月)
評論
0/150
提交評論