資源描述:
《編寫圖形界面應(yīng)用程序》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第九章編寫圖形界面應(yīng)用程序9.1關(guān)于Swing9.2Swing組件和容器9.3布局管理器9.4事件處理9.5繪畫與動畫顯示19.1關(guān)于Swing1.Swing:是第二代GUI開發(fā)工具它建立在AWT之上,但用新版本的組件替代了舊版本的組件。它提供了許多新的組件和相關(guān)的API第九章編寫圖形界面應(yīng)用程序29.1關(guān)于Swing2.TheSwingAPI發(fā)布在:JDK?1.2JFC?1.1(forusewithJDK?1.1)3.TheSwingAPI功能是強大的,靈活的和廣泛的。例如JFC1.1有15publicpa
2、ckages。我們經(jīng)常用的有兩個包:javax.swingjavax.swing.event注:AWTcomponents在java.awtpackage中第九章編寫圖形界面應(yīng)用程序39.2Swing組件和容器9.2.1樣題分析:9.2.2SwingComponents分類9.2.3頂層容器9.2.4Frame9.2.6Dialog9.2.7panel9.2.8創(chuàng)建菜單:9.2.9JComponentClass第九章編寫圖形界面應(yīng)用程序49.2Swing組件和容器SwingApplication創(chuàng)建了四個常用
3、的Swingcomponents:aframe,ormainwindow(JFrame)apanel(JPanel)abutton(JButton)alabel(JLabel)第九章編寫圖形界面應(yīng)用程序9.2.1.樣題分析:59.2Swing組件和容器容器與組件包含繼承關(guān)系圖表:第九章編寫圖形界面應(yīng)用程序69.2Swing組件和容器9.2.2SwingComponents分類:頂層容器:中間容器:原子組件見顯示樣本第九章編寫圖形界面應(yīng)用程序79.2Swing組件和容器9.2.3頂層容器java提供了三個頂層容
4、器:JFrame,JDialog,和JApplet。第九章編寫圖形界面應(yīng)用程序89.2Swing組件和容器9.2.3頂層容器特點:顯示在屏幕上的每個組件都必須在一個包含繼承中。每一個包含繼承都有一個頂層容器作為它的根。每一個一個頂層容器都有一個contentpane,它包含了頂層容器中的所有組件菜單在頂層容器中,但在contentpane之外。第九章編寫圖形界面應(yīng)用程序99.2Swing組件和容器9.2.3頂層容器包含繼承圖如下:第九章編寫圖形界面應(yīng)用程序109.2Swing組件和容器9.2.3頂層容器在Co
5、ntentPane中添加組件有兩種方式:topLevelContainer.getContentPane().add(yellowLabel,BorderLayout.CENTER);或:JPanelcontentPane=newJPanel();……topLevelContainer.setContentPane(contentPane);第九章編寫圖形界面應(yīng)用程序119.2Swing組件和容器9.2.3頂層容器2.添加菜單條JMenuBarcyanMenuBar=newJMenuBar();frame.s
6、etJMenuBar(cyanMenuBar);第九章編寫圖形界面應(yīng)用程序129.2Swing組件和容器9.2.4Frame是一個帶有標題和可變大小邊框的窗口。任何一個圖形界面應(yīng)用程序都必須至少有一個JFrame.見例題:FrameDemo.javaTopLevelDemo.java.第九章編寫圖形界面應(yīng)用程序139.2Swing組件和容器9.2.7panel為其它組件提供一個容器。便于組織和顯示組件。還可以包含子panel見例題:MyPanel.java第九章編寫圖形界面應(yīng)用程序149.2Swing組件和容
7、器9.2.8創(chuàng)建菜單:步驟:1.創(chuàng)建一個MenuBar對象,將其加入一個菜單容器,例如:Frame.2.創(chuàng)建一個或多個Menu對象,將其加入menubar對象.3.創(chuàng)建一個或多個MenuItemobjects,對象,將其加入相應(yīng)的menuobject.第九章編寫圖形界面應(yīng)用程序159.2Swing組件和容器9.2.8創(chuàng)建菜單:JFramef=newJFrame("Menu");JMenuBarmb=newJMenuBar();JMenum1=newJMenu("File");JMenum2=newJMenu(
8、"Edit");JMenum3=newJMenu("Help");mb.add(m1);mb.add(m2);f.setMenuBar(mb);JMenuItemmi1=newJMenuItem("New");JMenuItemmi2=newJMenuItem("Save");JMenuItemmi3=newJMenuItem("Load");JMenuItemmi4=newJMenuItem("Q