JAVA教程 第六講 Java的線程和Java Applet(二)
6.3 Java Applet
前面的章節我們闡述了Application的應用,這一講我們將介紹java的另一類應用java Applet,即java小應用程序。
在Java問世的頭幾年里,之所以如此熱門,其根本原因還是在于Java具有'讓Internet動起來'的能力。具體地說,就是Java能創建一種特殊類型的程序(通常稱作'小應用程序'或者Applet),具備Java能力的Web瀏覽器可從網上下載這種程序,然后運行。
目前,幾乎所有瀏覽器均支持動態HTML(DHTML)和腳本編制(支持XML的瀏覽器也有很多),所以比起Java剛剛問世的時候,瀏覽器能夠做的事情要多得多。但盡管如此,由于小應用程序是用一種全功能的程序設計語言編制的,所以同HTML、XML和腳本語言的任何一種可能的組合相比,它仍然具有應用前景!
6.3.1 Applet 介紹(1)
Applet就是使用Java語言編寫的一段代碼,它可以在瀏覽器環境中運行。它與Application的區別主要在于其執行方式的不同。application 是從其中的main() 方法開始運行的,而Applet 是在瀏覽器中運行的,必須創建一個HTML 文件,通過編寫HTML 語言代碼告訴瀏覽器載入何種Applet 以及如何運行。
例6.7 HelloWorld.java 源程序:
import java.awt.Graphics; //引入圖形類Graphics
import java.applet.Applet; //引入Applet類
public class HelloWorld extends Applet {
String hw_text ;
public void init () { //init()方法是Applet首先執行的方法
hw_text = 'Hello World';
}
public void paint(Graphics g) {
g.drawString (hw_text , 25, 25) ;
//在坐標為(25,25)的地方顯示字符串hw_text
}
}
Applet程序編寫完后,首先要用java編譯器編譯成為字節碼文件,然后編寫相應的HTML文件才能夠正常執行,例如為運行上面的Applet程序所編寫的HTML文件HelloWorld.html如下:
[]
[]
…… //參數名稱及其值
[alternateHTML]
注意:
1)不支持Java的瀏覽器會把
之間的普通HTML文檔顯示出來;支持Java的瀏覽器,則把其中的普通HTML文檔忽略。
2)AppletViewer僅支持
標記,其它標記不會被顯示出來。
經過精心設計,可以使java程序同時是Applet與Application,如下例所示:
例6.9
import java.awt.*;
import java.awt.event.*;
public class AppletApp extends Applet {
public void main(String args[]) {
Frame frame=new Frame('Application'); //構造一個Frame
AppletApp app=new AppletApp();
frame.add('Center',app);
frame.setSize(200,200); //改變Frame的尺寸
frame.validate();
frame.setVisible(true); //使Frame可見
frame.addWindwoListener(new WindowControl(app));
//給Frame加入監聽器
app.init(); //初始化Applet
app.start(); //運行該Applet
}
public void paint(Graphics g) { //重畫方法
g.drawString('hello world',25,25);
}
public void destroy(){
System.exit(0);
}
}
class WindowControl extends WindowAdapter { //監聽器類
Applet c;
public WindowControl(Applet c) { //構造函數
this.c=c;
}
public void windowClosing(WindowEvent e) {
//關閉窗口時調用的方法
c.destroy( );
}
}
6.3.2 Applet的AWT繪制
看圖
Applet程序中所采用的AWT的繪圖機制主要涉及三個方法:paint()方法、update()方法和repaint()方法,update()方法和paint()方法都有一個Graphics類參數。Graphics是畫圖的關鍵,它可以支持兩種繪圖:一種是基本的繪圖,如:畫線、矩形、圓等;另一種是畫圖象,主要用于動畫制作。
要進行繪圖,首先要找到一個Graphics類的對象。update()方法和paint()方法所傳遞的參數都是Graphics類的對象,因此主要是通過重載它們來進行繪圖,這是在動畫程序中經常使用的方法。我們還可以通過getGraphics()方法得到一個Graphics類的對象,這個對象和update()方法和paint()方法中所傳遞的對象一樣,都是該成員所對應的Graphics類的對象。得到了Graphics類的對象,就可使用各種繪圖方法。
Graphics中提供的圖形繪制方法有:
paint( ) //進行繪圖的具體操作,必須有程序員重寫
update( ) //用于更新圖形,先清除背景、前景,再調用paint()
repaint( ) /*用于重繪圖形,在組件外形發生變化,即大小改變或位置移動時,repaint( )方法立即被系統自動調用,而實際上repaint()方法是自動調用update()方法*/
下面的方法支持基本的繪圖和畫圖像:
void drawLine( )
void drawArc( )
void drawPolygon( )
void drawRect( )
void drawRoundRect( )
void fill3DRect( )
void fillOval( )
java.awt.Graphics類
輸出文字:
void drawBytes( )
void drawChars( )
void drawString( )
相關文章: