遍匈 / Java縮殻 /

Java - Applet児粥

<貧匯准 和匯准>
applet頁匯嶽Java殻會。万匯違塰佩壓屶隔Java議Web箝誓匂坪。咀葎万嗤頼屁議Java API屶隔,侭參applet頁匯倖畠孔嬬議Java哘喘殻會。
泌和侭幣頁鏡羨議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.
短嗤宸乂import囂鞘?Java園咎匂祥紛艶音阻Applet才Graphics窃。

Applet 窃:

耽匯倖applet脅頁java.applet.Applet 窃議徨窃?児粥議Applet窃戻工阻工几伏窃距喘議圭隈,參緩栖誼欺箝誓匂貧和猟議佚連才捲暦。
宸乂圭隈恂阻泌和並秤?
  • 誼欺applet議歌方
  • 誼欺淫根applet議HTML猟周議利大了崔
  • 誼欺applet窃朕村議利大了崔
  • 嬉咫箝誓匂議彜蓑佚連
  • 資函匯嫖夕頭
  • 資函匯倖咄撞頭粁
  • 殴慧匯倖咄撞頭粁
  • 距屁緩 applet 議寄弌
茅緩岻翌?Applet窃珊戻工阻匯倖俊笥?乎俊笥工Viewer賜箝誓匂栖資函applet議佚連?旺拝栖陣崙applet議峇佩。
Viewer辛嬬頁?
  • 萩箔applet恬宀、井云才井幡議佚連
  • 萩箔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(): 唯峭殴慧咄撞頭粁
葎阻誼欺AudioClip斤嵆?低駅倬距喘Applet窃議getAudioClip()圭隈。涙胎URL峺?議頁倦頁匯倖寔糞議咄撞猟周?乎圭隈脅氏羨軸卦指潤惚。
岷欺勣殴慧咄撞猟周扮?乎猟周嘉氏和墮和栖。
泌和糞箭處幣阻殴慧咄撞議侭嗤化帶?
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栖霞編貧中議糞箭。
<貧匯准 和匯准>

AltStyle によって変換されたページ (->オリジナル) /