Java - Applet児粥
<貧匯准
和匯准>
applet頁匯嶽Java殻會。万匯違塰佩壓屶隔Java議Web箝誓匂坪。咀葎万嗤頼屁議Java API屶隔,侭參applet頁匯倖畠孔嬬議Java哘喘殻會。
泌和侭幣頁鏡羨議Java哘喘殻會才applet殻會岻寂嶷勣議音揖?
宸乂圭隈恂阻泌和並秤?
Viewer辛嬬頁?
“Hello?World”applet脅頁梓炎彈園亟議。率匯瓜嶷亟議圭隈頁paint圭隈。
<applet> 炎禰頁壓HTML猟周嶄廼秘applet議児粥。參和頁匯倖距喘"Hello World"applet議箭徨?
<applet>炎禰議奉來峺協阻勣塰佩議Applet窃。Width才height喘栖峺協applet塰佩中医議兜兵寄弌。applet駅倬聞喘</applet>炎禰栖購液。
泌惚applet俊鞭歌方?椎担歌方議峙俶勣壓<param>炎禰戦耶紗?乎炎禰了噐<applet>才</applet>岻寂。箝誓匂策待阻applet炎禰岻寂議猟云才凪麿炎禰。
音屶隔Java議箝誓匂音嬬峇佩<applet>才</applet>。咀緩?壓炎禰岻寂?塋床?匣?applet短嗤購狼議販採叫廉?壓音屶隔議Java議箝誓匂戦頁辛需議。
Viewer賜宀箝誓匂壓猟亀議了崔儖孀園咎狛議Java旗鷹?勣峺協猟亀議揃抄?誼聞喘<applet>炎禰議codebase奉來峺協。
泌和侭幣?
及屈嶽冲弼才耽匯双議寄弌宥狛猟亀嶄議applet議歌方峺協。
CheckerApplet 壓init()圭隈戦誼欺万議歌方。匆辛參壓paint()圭隈戦誼欺万議歌方。隼遇?壓applet蝕兵誼欺峙旺隠贋阻譜崔?遇音頁耽匯肝泡仟議扮昨脅誼欺峙?宸劔頁載圭宴?旺拝互丼議。
applet viewer賜宀箝誓匂壓applet耽肝塰佩議扮昨距喘init()圭隈。壓紗墮applet岻朔?Viewer羨軸距喘init()圭隈?Applet.init()焚担匆短恂??嶷亟乎圭隈議潮範糞孖?耶紗匯乂徭協吶議兜兵晒旗鷹。
Applet.getParameter()圭隈宥狛公竃歌方兆各誼欺歌方峙。泌惚誼欺議峙頁方忖賜宀凪麿掲忖憲方象?椎担駅倬盾裂葎忖憲堪窃侏。
和箭頁CheckerApplet.java議坑古?
咀緩?parseSquareSize()圭隈匆頁俺資呟械議?旺音塋俯applet俊鞭涙丼議補秘。
Applet距喘parseColor()圭隈繍冲弼歌方盾裂葎匯倖Color峙。parseColor()圭隈恂阻匯狼双忖憲堪議曳熟?栖謄塘歌方議峙才圓協吶冲弼議兆忖。低俶勣糞孖宸乂圭隈栖聞applet垢恬。
和中頁繍哘喘殻會廬算撹applet議叱倖化帶?
葎阻峒哘匯倖並周?applet駅倬嶷亟栽癖議並周侃尖圭隈。
泌和糞箭處幣阻?塋祥柴i痛窠于瞬茖?
岷欺勣殴慧咄撞猟周扮?乎猟周嘉氏和墮和栖。
泌和糞箭處幣阻殴慧咄撞議侭嗤化帶?
泌和侭幣頁鏡羨議Java哘喘殻會才applet殻會岻寂嶷勣議音揖?
- Java嶄applet窃写覚阻 java.applet.Applet窃
- Applet窃短嗤協吶main()?侭參匯倖 Applet殻會音氏距喘main()圭隈?
- Applets瓜譜柴葎廼秘壓匯倖HTML匈中。
- 輝喘薩箝誓淫根Applet議HTML匈中?Applet議旗鷹祥瓜和墮欺喘薩議字匂貧。
- 勣臥心匯倖applet俶勣JVM。 JVM辛參頁Web箝誓匂議匯倖峨周?賜匯倖鏡羨議塰佩扮桟廠。
- 喘薩字匂貧議JVM幹秀匯倖applet窃議糞箭?旺距喘Applet伏凋巓豚狛殻嶄議光嶽圭隈。
- Applets嗤Web箝誓匂膿崙峇佩議冢鯉議芦畠号夸?applet議芦畠字崙瓜各葎紐屺芦畠。
- applet俶勣議凪麿窃辛參喘Java拷亀?JAR?猟周議侘塀和墮和栖。
Applet議伏凋巓豚:
Applet窃嶄議膨倖圭隈公低戻工阻匯倖崇尺?低辛參壅乎崇尺貧蝕窟弌殻會?- init: 乎圭隈議朕議頁葎低議applet戻工侭俶議販採兜兵晒。壓Applet炎芝坪議param炎禰瓜侃尖朔距喘乎圭隈。
- start: 箝誓匂距喘init圭隈朔?乎圭隈瓜徭強距喘。耽輝喘薩貫凪麿匈中卦指欺淫根Applet議匈中扮?夸距喘乎圭隈。
- stop:輝喘薩貫淫根applet議匈中卞茅議扮昨?乎圭隈徭強瓜距喘。咀緩?辛參壓屢揖議applet嶄郡鹸距喘乎圭隈。
- destroy: 緩圭隈叙輝箝誓匂屎械購液扮距喘。咀葎applets峪嗤壓HTML利匈貧嗤丼?侭參低音哘乎壓喘薩宣蝕淫根Applet議匈中朔凖息販採彿坿.
- paint: 乎圭隈壓start()圭隈岻朔羨軸瓜距喘?賜宀壓applet俶勣嶷紙壓箝誓匂議扮昨距喘。paint()圭隈糞縞貧写覚噐java.awt。
"Hello, World" Applet:
和中頁匯倖酒汽議Applet殻會HelloWorldApplet.java:
import java.applet.*;
import java.awt.*;
public class HelloWorldApplet extends Applet
{
public void paint (Graphics g)
{
g.drawString ("Hello World", 25, 50);
}
}
宸乂import囂鞘繍參和窃擬秘欺厘断議applet窃嶄?-
java.applet.Applet.
-
java.awt.Graphics.
Applet 窃:
耽匯倖applet脅頁java.applet.Applet 窃議徨窃?児粥議Applet窃戻工阻工几伏窃距喘議圭隈,參緩栖誼欺箝誓匂貧和猟議佚連才捲暦。宸乂圭隈恂阻泌和並秤?
- 誼欺applet議歌方
- 誼欺淫根applet議HTML猟周議利大了崔
- 誼欺applet窃朕村議利大了崔
- 嬉咫箝誓匂議彜蓑佚連
- 資函匯嫖夕頭
- 資函匯倖咄撞頭粁
- 殴慧匯倖咄撞頭粁
- 距屁緩 applet 議寄弌
Viewer辛嬬頁?
- 萩箔applet恬宀、井云才井幡議佚連
- 萩箔applet紛艶議歌方議宙峰
- 兜兵晒applet
- ?支applet
- 蝕兵峇佩applet
- 潤崩峇佩applet
“Hello?World”applet脅頁梓炎彈園亟議。率匯瓜嶷亟議圭隈頁paint圭隈。
Applet議距喘:
applet頁匯嶽Java殻會。万匯違塰佩壓屶隔Java議Web箝誓匂坪。咀葎万嗤頼屁議Java API屶隔,侭參applet頁匯倖畠孔嬬議Java哘喘殻會。<applet> 炎禰頁壓HTML猟周嶄廼秘applet議児粥。參和頁匯倖距喘"Hello World"applet議箭徨?
<html> <title>The Hello, World Applet</title> <hr> <applet code="HelloWorldApplet.class" width="320" height="120"> If your browser was Java-enabled, a "Hello, World" message would appear here. </applet> <hr> </html>廣吭: 低辛參歌孚HTML Applet炎禰栖厚謹議阻盾貫HTML嶄距喘applet議圭隈。
<applet>炎禰議奉來峺協阻勣塰佩議Applet窃。Width才height喘栖峺協applet塰佩中医議兜兵寄弌。applet駅倬聞喘</applet>炎禰栖購液。
泌惚applet俊鞭歌方?椎担歌方議峙俶勣壓<param>炎禰戦耶紗?乎炎禰了噐<applet>才</applet>岻寂。箝誓匂策待阻applet炎禰岻寂議猟云才凪麿炎禰。
音屶隔Java議箝誓匂音嬬峇佩<applet>才</applet>。咀緩?壓炎禰岻寂?塋床?匣?applet短嗤購狼議販採叫廉?壓音屶隔議Java議箝誓匂戦頁辛需議。
Viewer賜宀箝誓匂壓猟亀議了崔儖孀園咎狛議Java旗鷹?勣峺協猟亀議揃抄?誼聞喘<applet>炎禰議codebase奉來峺協。
泌和侭幣?
<applet codebase="http://amrood.com/applets" code="HelloWorldApplet.class" width="320" height="120">泌惚applet侭壓匯倖淫嶄遇音頁潮範淫?椎担侭壓議淫駅倬壓code奉來戦峺協?箭泌?
<applet code="mypackage.subpackage.TestApplet.class" width="320" height="120">
資誼applet歌方:
和中議箭徨處幣阻泌採聞喘匯倖applet峒哘栖譜崔猟周嶄峺協議歌方。乎Applet?塋樵牧燦?敝?綸麺式減裕擽?嶂嬋??及屈嶽冲弼才耽匯双議寄弌宥狛猟亀嶄議applet議歌方峺協。
CheckerApplet 壓init()圭隈戦誼欺万議歌方。匆辛參壓paint()圭隈戦誼欺万議歌方。隼遇?壓applet蝕兵誼欺峙旺隠贋阻譜崔?遇音頁耽匯肝泡仟議扮昨脅誼欺峙?宸劔頁載圭宴?旺拝互丼議。
applet viewer賜宀箝誓匂壓applet耽肝塰佩議扮昨距喘init()圭隈。壓紗墮applet岻朔?Viewer羨軸距喘init()圭隈?Applet.init()焚担匆短恂??嶷亟乎圭隈議潮範糞孖?耶紗匯乂徭協吶議兜兵晒旗鷹。
Applet.getParameter()圭隈宥狛公竃歌方兆各誼欺歌方峙。泌惚誼欺議峙頁方忖賜宀凪麿掲忖憲方象?椎担駅倬盾裂葎忖憲堪窃侏。
和箭頁CheckerApplet.java議坑古?
import java.applet.*;
import java.awt.*;
public class CheckerApplet extends Applet
{
int squareSize = 50;// initialized to default size
public void init () {}
private void parseSquareSize (String param) {}
private Color parseColor (String param) {}
public void paint (Graphics g) {}
}
和中頁CheckerApplet窃議init()圭隈才暴嗤議parseSquareSize()圭隈?
public void init ()
{
String squareSizeParam = getParameter ("squareSize");
parseSquareSize (squareSizeParam);
String colorParam = getParameter ("color");
Color fg = parseColor (colorParam);
setBackground (Color.black);
setForeground (fg);
}
private void parseSquareSize (String param)
{
if (param == null) return;
try {
squareSize = Integer.parseInt (param);
}
catch (Exception e) {
// Let default value remain
}
}
乎applet距喘parseSquareSize()?栖盾裂squareSize歌方。parseSquareSize()距喘阻垂圭隈Integer. parseInt()?乎圭隈繍匯倖忖憲堪盾裂葎匯倖屁方?輝歌方涙丼議扮昨?Integer.parseInt()砺竃呟械。咀緩?parseSquareSize()圭隈匆頁俺資呟械議?旺音塋俯applet俊鞭涙丼議補秘。
Applet距喘parseColor()圭隈繍冲弼歌方盾裂葎匯倖Color峙。parseColor()圭隈恂阻匯狼双忖憲堪議曳熟?栖謄塘歌方議峙才圓協吶冲弼議兆忖。低俶勣糞孖宸乂圭隈栖聞applet垢恬。
峺協applet歌方:
泌和議箭徨頁匯倖HTML猟周?凪嶄廼秘阻CheckerApplet窃。HTML猟周宥狛聞喘<param>炎禰議圭隈公applet峺協阻曾倖歌方。<html> <title>Checkerboard Applet</title> <hr> <applet code="CheckerApplet.class" width="480" height="320"> <param name="color" value="blue"> <param name="squaresize" value="30"> </applet> <hr> </html>廣吭: 歌方兆忖寄弌亟音樗湖。
哘喘殻會廬算撹Applet:
繍夕侘晒議Java哘喘殻會?頁峺?聞喘AWT議哘喘殻會才聞喘java殻會尼強匂尼強議殻會?廬算撹廼秘壓web匈中戦議applet頁載酒汽議。和中頁繍哘喘殻會廬算撹applet議叱倖化帶?
- 園亟匯倖HTML匈中?乎匈中揮嗤嬬紗墮applet旗鷹議炎禰。
- 園亟匯倖JApplet窃議徨窃?繍乎窃譜崔葎public。倦夸?applet音嬬瓜紗墮。
- 嶧茅哘喘殻會議main()圭隈。音勣葎哘喘殻會更夛崇尺完笥?咀葎低議哘喘殻會勣?塋菖昶囊斉煒弌?
- 繍哘喘殻會嶄崇尺完笥議更夛圭隈戦議兜兵晒旗鷹卞欺applet議init()圭隈嶄?低音駅?塋承長行?applet斤嵆?箝誓匂繍宥狛距喘init()圭隈栖糞箭晒匯倖斤嵆。
- 卞茅斤setSize()圭隈議距喘?斤噐applet栖讐?寄弌厮将宥狛HTML猟周戦議width才height歌方譜協挫阻。
- 卞茅斤 setDefaultCloseOperation()圭隈議距喘。Applet音嬬瓜購液?万昧彭箝誓匂議曜竃遇嶮峭。
- 泌惚哘喘殻會距喘阻setTitle()圭隈?嶧茅斤乎圭隈議距喘。applet音嬬嗤炎籾生。?輝隼低辛參公宥狛html議title炎禰公利匈徭附凋兆?
- 音勣距喘setVisible(true),applet頁徭強?塋承帖?
並周侃尖:
Applet窃貫Container窃写覚阻俯謹並周侃尖圭隈。Container窃協吶阻叱倖圭隈?箭泌?processKeyEvent()才processMouseEvent()?喘栖侃尖蒙艶窃侏議並周?珊嗤匯倖俺資侭嗤並周議圭隈出恂processEvent。葎阻峒哘匯倖並周?applet駅倬嶷亟栽癖議並周侃尖圭隈。
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
import java.applet.Applet;
import java.awt.Graphics;
public class ExampleEventHandling extends Applet
implements MouseListener {
StringBuffer strBuffer;
public void init() {
addMouseListener(this);
strBuffer = new StringBuffer();
addItem("initializing the apple ");
}
public void start() {
addItem("starting the applet ");
}
public void stop() {
addItem("stopping the applet ");
}
public void destroy() {
addItem("unloading the applet");
}
void addItem(String word) {
System.out.println(word);
strBuffer.append(word);
repaint();
}
public void paint(Graphics g) {
//Draw a Rectangle around the applet's display area.
g.drawRect(0, 0,
getWidth() - 1,
getHeight() - 1);
//display the string inside the rectangle.
g.drawString(strBuffer.toString(), 10, 20);
}
public void mouseEntered(MouseEvent event) {
}
public void mouseExited(MouseEvent event) {
}
public void mousePressed(MouseEvent event) {
}
public void mouseReleased(MouseEvent event) {
}
public void mouseClicked(MouseEvent event) {
addItem("mouse clicked! ");
}
}
泌和距喘乎applet?
<html> <title>Event Handling</title> <hr> <applet code="ExampleEventHandling.class" width="300" height="300"> </applet> <hr> </html>恷蝕兵塰佩?applet?塋? "initializing the applet. Starting the applet."?隼朔低匯泣似裳侘崇?祥氏?塋?"mouse clicked" 。
?塋祥柴?:
applet嬬?塋?GIF,JPEG,BMP吉凪麿鯉塀議夕頭。葎阻壓applet嶄?塋祥柴?d穉菻ĺ荒?java.awt.Graphics窃議drawImage()圭隈。泌和糞箭處幣阻?塋祥柴i痛窠于瞬茖?
import java.applet.*;
import java.awt.*;
import java.net.*;
public class ImageDemo extends Applet
{
private Image image;
private AppletContext context;
public void init()
{
context = this.getAppletContext();
String imageURL = this.getParameter("image");
if(imageURL == null)
{
imageURL = "java.jpg";
}
try
{
URL url = new URL(this.getDocumentBase(), imageURL);
image = context.getImage(url);
}catch(MalformedURLException e)
{
e.printStackTrace();
// Display in browser status bar
context.showStatus("Could not load image!");
}
}
public void paint(Graphics g)
{
context.showStatus("Displaying image");
g.drawImage(image, 0, 0, 200, 84, null);
g.drawString("www.javalicense.com", 35, 100);
}
}
泌和距喘乎applet?
<html> <title>The ImageDemo applet</title> <hr> <applet code="ImageDemo.class" width="300" height="200"> <param name="image" value="java.jpg"> </applet> <hr> </html>
殴慧咄撞:
Applet嬬宥狛聞喘java.applet淫嶄議AudioClip俊笥殴慧咄撞。AudioClip俊笥協吶阻眉倖圭隈?- public void play(): 貫匯蝕兵殴慧咄撞頭粁匯肝。
- public void loop(): 儉桟殴慧咄撞頭粁
- public void stop(): 唯峭殴慧咄撞頭粁
岷欺勣殴慧咄撞猟周扮?乎猟周嘉氏和墮和栖。
泌和糞箭處幣阻殴慧咄撞議侭嗤化帶?
import java.applet.*;
import java.awt.*;
import java.net.*;
public class AudioDemo extends Applet
{
private AudioClip clip;
private AppletContext context;
public void init()
{
context = this.getAppletContext();
String audioURL = this.getParameter("audio");
if(audioURL == null)
{
audioURL = "default.au";
}
try
{
URL url = new URL(this.getDocumentBase(), audioURL);
clip = context.getAudioClip(url);
}catch(MalformedURLException e)
{
e.printStackTrace();
context.showStatus("Could not load audio file!");
}
}
public void start()
{
if(clip != null)
{
clip.loop();
}
}
public void stop()
{
if(clip != null)
{
clip.stop();
}
}
}
泌和距喘applet?
<html> <title>The ImageDemo applet</title> <hr> <applet code="ImageDemo.class" width="0" height="0"> <param name="audio" value="test.wav"> </applet> <hr>低辛參聞喘低窮辻貧議test.wav栖霞編貧中議糞箭。
<貧匯准
和匯准>