資源描述:
《《圖形用戶界面編程》PPT課件》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第九章圖形用戶界面編程計算機網(wǎng)絡(luò)與多媒體研究所計算機科學與技術(shù)、軟件學院浙江工業(yè)大學高家全Cell:13588097481Email:springf12@163.com前言本章的目的:圖形用戶界面(GUI)程序包括哪些元素?如何開發(fā)圖形用戶界面程序?如何讓界面上的按鈕、下拉框、樹等響應(yīng)鼠標、鍵盤等?回顧關(guān)鍵詞:字節(jié)流(InputStreamOutputStream)、字符流(ReaderWriter)、File、對象序列化(java.io.Serializable)、java中的字符編碼(UnicodeUTF-8UTF-16)小節(jié)安排圖形用戶界面編
2、程9.3、菜單和工具條9.5、組件常用方法9.1、AWT與Swing9.2、容器:JFrameJPanelJScrollPaneJSplitPane9.6、布局管理器9.7、事件處理模型9.4、基本組件:JLabelJButtonJComboBoxJTree等9.8、鼠標事件處理9.9、事件適配器類9.10、鍵盤事件處理9.1.1、AWT和SwingAWT(AbstractWindowingToolkit)是Java早期(JDK1.0)的GUI標準API重量級組件在90年代,程序員中流傳著一個笑話:Java的真正信條是"一次編寫,到處測試(Wri
3、teOnce,TestEverywhere)"。導致這種糟糕局面的一個可能原因據(jù)說是AWT從概念產(chǎn)生到完成實現(xiàn)只用了一個月。importjava.awt.Frame;importjava.awt.Color;publicclassTestAWTextendsFrame{publicTestAWT(Stringstr){super(str);}publicstaticvoidmain(Stringargs[]){TestAWTfr=newTestAWT("HelloAWTFrame!");//設(shè)置Frame的大小,缺省為(0,0)fr.setSize(400,
4、300);//設(shè)置Frame的背景為紅色fr.setBackground(Color.red);//設(shè)置Frame為可見,缺省為不可見fr.setVisible(true);}}9.1.2、AWT和SwingJava1.2開始,AWT被Swing替代Swing包含的組件的平臺相關(guān)性較小,所以稱為輕量級組件所在的包:javax.swing由100%純java實現(xiàn)的(a)Linux下(b)MacOS下(c)Windows下同樣的java代碼在不同操作系統(tǒng)下的表現(xiàn)9.1.2、AWT和Swing9.1.2、AWT和Swing小節(jié)安排圖形用戶界面編程9.3、菜單和工具
5、條9.5、組件常用方法9.1、AWT與Swing9.2、容器:JFrameJPanelJScrollPaneJSplitPane9.6、布局管理器9.7、事件處理模型9.4、基本組件:JLabelJButtonJComboBoxJTree等9.8、鼠標事件處理9.9、事件適配器類9.10、鍵盤事件處理9.2.1、JFrame9.2.1、JFrame/*我的第一個java窗口程序,采用直接在main中創(chuàng)建窗口的方法*/importjava.awt.event.*;importjavax.swing.*;publicclassTestJFrameDi
6、rect{}聲明實例變量或類變量定義實例方法或類方法定義實例方法或類方法……9.2.1、JFrame/*我的第一個java窗口程序,采用直接在main中創(chuàng)建窗口的方法*/importjava.awt.event.*;importjavax.swing.*;publicclassTestJFrameDirect{//**********************************************************//以下為成員變量(對象)的定義//定義菜單staticJMenuBarmb=newJMenuBar();//菜單欄staticFg
7、MenumFile=newFgMenu("文件(F)",KeyEvent.VK_F);//"文件"菜單staticJMenuItemmiNew=newJMenuItem("新建(N)",KeyEvent.VK_N),miOpen=newJMenuItem("打開(O)...",KeyEvent.VK_O),miSave=newJMenuItem("保存(S)",KeyEvent.VK_S),miFont=newJMenuItem("字體與顏色(F)...",KeyEvent.VK_F),miQuit=newJMenuItem("退出(X)",KeyEvent
8、.VK_X);//*****************