《《圖形用戶界面㈣》PPT課件》由會(huì)員分享,可在線閱讀,更多相關(guān)《《圖形用戶界面㈣》PPT課件(8頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、1/ 第 18講 圖 形 用 戶 界 面 Swing組件庫(kù) AWT設(shè)計(jì)的初衷是支持開(kāi)發(fā)小應(yīng)用程序的簡(jiǎn)單用戶界面。但是,AWT缺少剪貼板、打印支持、鍵盤導(dǎo)航等特性,而且原來(lái)的AWT甚至不包括彈出式菜單或滾動(dòng)窗格等基本元素。此外,人們使AWT適應(yīng)基于繼承的、具有很大伸縮性的事件模型,基于同位體的體系結(jié)構(gòu)就成為其致命的弱點(diǎn)。 Swing產(chǎn)生的主要原因就是AWT不能滿足圖形化用戶界面發(fā)展的需要。 Swing概述 Swing組件幾乎都是輕量組件 Swing是由100%純Java實(shí)現(xiàn)的,Swing組件是用Java實(shí)現(xiàn)的輕量級(jí)( light-weight)組件,沒(méi)有本地代碼,不依賴操作系統(tǒng)的支持,這是它與A
2、WT組件的最大區(qū)別。 Swing采用了一種MVC的設(shè)計(jì)范式,即“模型-視圖-控制”(Model-View-Controller),其中模型用來(lái)保存內(nèi)容,視圖用來(lái)顯示內(nèi)容,控制器用來(lái)控制用戶輸入。 Swing比AWT提供了更多的組件,這些組件都在javax.swing包中定義,按功能分類有下面幾種。 1頂層容器組件(Top-Level Containers) JFrame,JDialog,JApplet,JSplitPane,JTabbedPane,JToolbar2特殊用途容器組件(Special-Purpose Containers) JInteralFrame,JLayeredFrame,
3、JRootPane3基本組件(Basic Controls) JButton,JComboBox,JList,JMenu,JSlider,JTextField,JTextArea4信息顯示組件(Uneditable Information Displays) JLabel,JProgressBar,JTooltip5格式化信息輸入組件(Editable Displays of Formatted Information) JColorChooser,JFileChooser,JTable,JTreeSwing概述 Swing基本組件的使用向JFrame中添加組件的方法與AWT中向Frame中添
4、加組件略有不同。JFrame中含JRootPane容器組件又內(nèi)含contentPane容器組件,只能在contentPane容器中添加組件。通常,使用JFrame中的getContentPane()方法,獲取對(duì)contentPane對(duì)象的引用例Ex9_29 Swing基本組件的使用從本例可以看出,Swing比AWT提供了更多的組件,而且每個(gè)組件的方法屬性也比AWT中的組件豐富。 JTree類 樹(shù)狀組件(JTree)提供了龐大的API,是Swing中功能最大的一個(gè)組件。幾乎可以在樹(shù)狀組件上做任何動(dòng)作,但是操作起來(lái)也很復(fù)雜。幸好,Swing提供了一個(gè)缺省的樹(shù)狀組件處理模式。當(dāng)你按下按鈕之后,新的子
5、樹(shù)狀組件便會(huì)加到目前所選取的節(jié)點(diǎn)上。例:Ex9_30 JTree類的使用程序運(yùn)行結(jié)果如圖所示。運(yùn)行時(shí),首先生成一個(gè)帶滾動(dòng)條的面板treeScroller,然后通過(guò)Swing提供的缺省的樹(shù)狀組件DefaultMutableTreeNode生成多個(gè)節(jié)點(diǎn)。 JTable類 和樹(shù)狀組件一樣,表格(JTable)組件也非常的龐大。特別是程序通過(guò)JDBC訪問(wèn)數(shù)據(jù)時(shí),常常會(huì)運(yùn)用表格來(lái)顯示界面。例:Ex9_31 JTable類的使用程序分析:程序中使用了構(gòu)造方法JTable(Object rowData, Object columnNames)生成一個(gè)二維表格。其中,rowDate數(shù)組是用來(lái)顯示的值,columnNames數(shù)組表示是二維數(shù)組的列名稱。 本章小結(jié)用戶界面程序的AWT基本組件五種布局管理器鼠標(biāo)、鍵盤等事件驅(qū)動(dòng)設(shè)計(jì) AWT基本組件和高級(jí)組件的簡(jiǎn)單應(yīng)用 Swing組件的使用 AWT繪圖方法