《《圖形用戶界面㈣》PPT課件》由會員分享,可在線閱讀,更多相關《《圖形用戶界面㈣》PPT課件(8頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、1/ 第 18講 圖 形 用 戶 界 面 Swing組件庫 AWT設計的初衷是支持開發(fā)小應用程序的簡單用戶界面。但是,AWT缺少剪貼板、打印支持、鍵盤導航等特性,而且原來的AWT甚至不包括彈出式菜單或滾動窗格等基本元素。此外,人們使AWT適應基于繼承的、具有很大伸縮性的事件模型,基于同位體的體系結構就成為其致命的弱點。 Swing產(chǎn)生的主要原因就是AWT不能滿足圖形化用戶界面發(fā)展的需要。 Swing概述 Swing組件幾乎都是輕量組件 Swing是由100%純Java實現(xiàn)的,Swing組件是用Java實現(xiàn)的輕量級( light-weight)組件,沒有本地代碼,不依賴操作系統(tǒng)的支持,這是它與A
2、WT組件的最大區(qū)別。 Swing采用了一種MVC的設計范式,即“模型-視圖-控制”(Model-View-Controller),其中模型用來保存內(nèi)容,視圖用來顯示內(nè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()方法,獲取對contentPane對象的引用例Ex9_29 Swing基本組件的使用從本例可以看出,Swing比AWT提供了更多的組件,而且每個組件的方法屬性也比AWT中的組件豐富。 JTree類 樹狀組件(JTree)提供了龐大的API,是Swing中功能最大的一個組件。幾乎可以在樹狀組件上做任何動作,但是操作起來也很復雜。幸好,Swing提供了一個缺省的樹狀組件處理模式。當你按下按鈕之后,新的子
5、樹狀組件便會加到目前所選取的節(jié)點上。例:Ex9_30 JTree類的使用程序運行結果如圖所示。運行時,首先生成一個帶滾動條的面板treeScroller,然后通過Swing提供的缺省的樹狀組件DefaultMutableTreeNode生成多個節(jié)點。 JTable類 和樹狀組件一樣,表格(JTable)組件也非常的龐大。特別是程序通過JDBC訪問數(shù)據(jù)時,常常會運用表格來顯示界面。例:Ex9_31 JTable類的使用程序分析:程序中使用了構造方法JTable(Object rowData, Object columnNames)生成一個二維表格。其中,rowDate數(shù)組是用來顯示的值,columnNames數(shù)組表示是二維數(shù)組的列名稱。 本章小結用戶界面程序的AWT基本組件五種布局管理器鼠標、鍵盤等事件驅(qū)動設計 AWT基本組件和高級組件的簡單應用 Swing組件的使用 AWT繪圖方法