Java的Applet是可以在網頁上執行的程式。
Applet跟Application不同處是有public void init()、public void start();、public void stop()及destroy()四個函式。
要將Java Application改成Applet很簡單,只要做以下步驟就可以:
1. 首先,主要的類別要extends Applet。並且import java.applet.*;
2. 在此複習我之前寫的GUI程式結構:
public class UncleClass implements ActionListener
{
//元件宣告區,大部分會有個frame。
public static void main(String s[])
{
UncleClass uu = new UncleClass();
}
public UncleClass()
{
//設好屬性,add進來。
f.setVisible(true); //frame f
}
public void actionPerformed(ActionEvent evt)
{
//觸發事件處理。
}
//寫一些UncleClass自己的函式。
}// UncleClass
如此要改成Applet,需改變的地方,可以將建構式改成空函式,將原來建構式內的程式碼,移到public void init()裡面。而start()裡可以寫成:
public void start()
{
super.start();
}
至於stop()跟destroy()可以不用寫出來。
原來在物件宣告處定義的frame,改為定義在main裡面:
public static void main(String s[])
{
UncleClass uu = new UncleClass();
Frame f = new Frame(“FrameName”);
uu.init(); uu.start();
f.add(uu, “Center”);
f.setSize(300,500);
f.setVisible(true);
}
將Frame的屬性設定放在main裡面。注意如果Frame要使用BorderLayout,在init()裡面,要多一行:
setLayout(new BorderLayout());
在init()裡面可以加入一些元件到Frame中:
直接寫add(ta, “Center”);,不用寫f.add(…)。
最後加上paint函式:
public void paint(Graphics g)
{
//視窗縮放或重畫會呼叫這裡。
validate();
}
3. 最後簡單寫一個html文件:
<applet code=UnlceClass width=300 height=500></applet>
開啟此html網頁,就可以看到Applet程式了。
另外,validate()的作用是把Container裡面的元件再lay out出來一遍。建議在物件有add或者其他動作時都要validate一下。
而有時視窗顯示有問題,將視窗放大縮小又變正常,此時setVisible設為true很可能可以解決此問題。
有了Applet,就可以在自己的網頁上放程式,讓大家一進自己的網站就可以按一些圖形介面了!!
by Uncle
沒有留言:
張貼留言