資源描述:
《《圖形用戶界面》ppt課件》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第9章圖形用戶界面鄭莉JAVA語言程序設(shè)計1目錄9.1Applet概述9.2Applet應(yīng)用程序接口9.3繪圖9.4Swing基礎(chǔ)9.5Swing的特點和概念9.6Swing組件9.7其它Swing特性9.8本章小結(jié)(說明:本章部分例題出自java_tutorial_sun)29.1Applet概述JavaApplet一種嵌入HTML文檔中的Java程序與Application相比,Applet具有明顯的優(yōu)點web瀏覽器提供了運行Applet所需要的許多功能Applet是在運行時通過網(wǎng)絡(luò)從服務(wù)器端下載的,因而便于軟件的發(fā)布和及時更新Applet也有其局限性,不能在客戶機(jī)上
2、讀寫當(dāng)?shù)匚募膊荒苓B接除它所在的服務(wù)器以外的其它機(jī)器3在瀏覽器中加載一個Applet,功能是顯示一個字符串“ThisisaJavaApplet!”importjava.awt.Graphics;importjavax.swing.JApplet;publicclassEx9_1extendsJApplet{publicvoidpaint(Graphicsg){//重載JApplet類的paint方法//參數(shù)是Graphics類的對象,是由瀏覽器傳遞過來的super.paint(g);//調(diào)用其超類JApplet類的paint方法g.drawString("ThisisaJ
3、avaApplet!",25,25);}}9.1Applet概述(續(xù))——例9_1Applet概述4在NetBeansIDE中運行9.1Applet概述(續(xù))——例9_1運行結(jié)果Applet概述5編譯ex9_1.java產(chǎn)生字節(jié)碼文件ex9_1.class。接下來就需要編寫一個HTML文件ex9_1.html來嵌入ex9_1.class將ex9_1.html文件和Ex9_1.class文件放在同一個目錄下?,F(xiàn)在,在瀏覽器中打開這個HT
4、ML文件,當(dāng)瀏覽器遇到Applet標(biāo)記時,就會自動載入指定的class文件,就會實現(xiàn)在屏幕上繪制一串字符的效果9.1Applet概述(續(xù))——例9_1運行結(jié)果Applet概述69.2Applet應(yīng)用程序接口JApplet類一個applet程序需要繼承javax.swing包中的JApplet類,也可以繼承老的AWT組件中的Applet類,JApplet類屬于新的Swing組件提供了applet在瀏覽器中運行需要具備的特定方法瀏覽器載入時,要依次運行init、start、paint方法離開瀏覽器頁面時,執(zhí)行stop退出瀏覽器時,執(zhí)行destroy提供了所有這些方法的默認(rèn)實現(xiàn)
5、,所以我們在編寫自己的applet時,就可以不必寫出全部方法,只要繼承這個JApplet,然后重寫特定的方法來增加特殊功能79.2Applet應(yīng)用程序接口方法調(diào)用時機(jī)和用途publicvoidinit()當(dāng)瀏覽器(即Applet容器)載入某個Applet時,容器會自動創(chuàng)建這個Applet類的一個實例,并調(diào)用它的init方法Applet應(yīng)用程序接口8publicvoidstart()init方法執(zhí)行結(jié)束之后,自動調(diào)用這個方法。另外,當(dāng)瀏覽器用戶在訪問另一個網(wǎng)址之后重新返回applet所在的HTML頁時,將再次調(diào)用start方法publicvoidpaint(Graphics
6、g)start方法啟動后調(diào)用此方法,另外每次需要重繪applet時也將調(diào)用該方法。程序通常不直接調(diào)用paintpublicvoidrepaint()在響應(yīng)用戶和Applet的交互時經(jīng)常要用到。通常只是調(diào)用,而不重寫這個方法。對于輕量級組件,它調(diào)用組件的paint方法,對重量級組件它調(diào)用組件的update方法,由update調(diào)用paintpublicvoidstop()用戶離開Applet所在的HTML頁時調(diào)用該方法,它執(zhí)行掛起Applet所需的所有任務(wù),例如停止動畫和線程publicvoiddestroy()用戶關(guān)閉瀏覽器窗口,Applet將從內(nèi)存中移走的時候調(diào)用該方法9
7、.2Applet應(yīng)用程序接口(續(xù))Applet應(yīng)用程序接口9importjavax.swing.*;.importjava.awt.*;publicclassHelloSwingAppletextendsJApplet{publicvoidinit(){JLabellabel=newJLabel("YouaresuccessfullyrunningaSwingapplet!");label.setHorizontalAlignment(JLabel.CENTER);label.setBorder(BorderFactory.c