Applet版的HelloWorld怎么寫

這篇文章主要講解了“Applet版的HelloWorld怎么寫”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Applet版的HelloWorld怎么寫”吧!

創(chuàng)新互聯(lián)建站專注于企業(yè)全網(wǎng)營銷推廣、網(wǎng)站重做改版、麻陽網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、html5、電子商務(wù)商城網(wǎng)站建設(shè)、集團公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為麻陽等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

  Applet是Java編寫的可以在瀏覽器端運行的代碼,它與應(yīng)用程序的明顯區(qū)別在于其執(zhí)行方式的不同,應(yīng)用程序如C程序是從main()主程序開始運行的,而Applet則比較復(fù)雜.具體如何復(fù)雜我不太清楚,但我會慢慢清楚的。關(guān)于Applet的一個重要性質(zhì)是,我可以將HTML中的值作為參數(shù)傳遞給Applet(通過getParameter()來獲取參數(shù)值).這樣,為了產(chǎn)生不同的效果,我們不需要重新編譯Java程序,而只需修改HTML的參數(shù)值即可.由于HTML的代碼也可以動態(tài)生成的,因此我可以對網(wǎng)頁的動態(tài)效果進行隨心所欲的控制.

  在Applet的生命周期中有3個比較主要的方法:init,start,stop
  init():負責(zé)Applet的初始化,在整個Applet的生命周期中,只執(zhí)行一次該方法.和Delphi中的OnCreate()事件是一樣的道理
  start():系統(tǒng)在調(diào)用完init()后,將自動調(diào)用start(),并且每次當(dāng)前窗口被重新激活時,都會調(diào)用該方法,和Delphi中的OnShow()事件是差不多的。
  stop():用戶離開Applet所在頁面后調(diào)用該方法。它使你在用戶不注意Applet的時候,停止一些資源的工作以免影響系統(tǒng)運行效率.并且我們不需要人為地去掉該方法.該方法同Delphi中的OnClose()事件差不多。

下面是一個Applet版的HelloWorld
文件名:HelloWorld.java

import java.applet.Applet;
import java.awt.Graphics;

public class HelloWorld extends Applet
{
  String title;
  public void init(){
  title="Hello World"; 
  } 
 
  public void paint(Graphics g)
  {
  g.drawString(title,50,20);
  }

}

  我們可以看到,程序中是沒有主函數(shù)的,那它如何運行呢.既然Applet是在瀏覽器環(huán)境下運行的,那我們就需要在HTML文件中來調(diào)用它.需要使用的相關(guān)標簽就是標簽,我們首先建立HTML文件test.htm,源代碼如下.


Here comes my first applet:





將該文件和HelloWorld.java放在同一個目錄中,然后編譯HelloWorld.java之后,直接點擊test.htm打開,就可以看到Applet程序被啟動了.或者使用AppletViewer命令A(yù)ppletViewer test.htm也可以不需要瀏覽器直接運行該Applet.

下面一個程序可以更好的幫助我們理解Java Applet在整個生命周期是如何調(diào)用上面我們介紹的幾個方法的.

文件名:StartStop.java
import java.awt.*;
import java.applet.*;

public class StartStop extends Applet
{
  StringBuffer message;
  public void init()
  {
  message=new StringBuffer("Init done...");
  }
 
  public void start()
  {
  message.append("Started...");
  }

  public void stop()
  {
  message.append("Stopped...");
  }

  public void paint(Graphics g)
  {
  g.drawString(message.toString(),150,50);
  }

}

運行方法同上.(該程序可參考機械工業(yè)的)

  同C語言不一樣,使用Java實現(xiàn)GUI要輕松的多。由于是純面向?qū)ο蟮恼Z言,Java的AWT提供了各種界面元素供我們調(diào)用,如同Delphi里面的組件一樣。下面是Java中的GUI對象和Delphi中的相應(yīng)組件的對照表

Java  Delphi
 
Button  TButton
Canvas  TCanvas
Checkbox  TCheckbox
CheckboxGroup TRadioGroup
Choice  TComboBox
Label  TLabel
TextField  TEdit
TextArea  TMemo


  然而,jdk并不是可視化的RAD(rapid application development)開發(fā)工具,對于對象的使用不能如Delphi那樣只需要拖拉,移位就可以,而需要我們寫調(diào)用代碼.這就產(chǎn)生了一個麻煩,我怎么樣才能夠讓元素按我的要求在界面中擺放呢?在元素不多時可以讓Java自動布局(Layout),但是元素很多時,或者需要根據(jù)應(yīng)用程序的要求來擺放元素時,就需要使用面板了(Panel).面板在Delphi里也有相應(yīng)的組件(TPanel),但主要是用來對界面分割,進行粗略的布局的,精確的定位還需要開發(fā)人員手動調(diào)節(jié).而Java則只能用Panel來定位,不能不說是個缺陷.也許是我還沒學(xué)到吧。

  入門之后,就該深入到對象的概念了。
  假設(shè)在Java中創(chuàng)建了一個叫做Date的自定義數(shù)據(jù)類型如下
  public class Date{
  int day;
  int month;
  int year;
  }
  那么對于以下三條聲名變量的語句,java在為其分配內(nèi)存的時候有什么不同嗎?
  (1) int i;
  (2) Date mybirth;
  (3) Date mybirth=new Date();

  很顯然是有的,分配情況如下:
  (1)Java自動為整數(shù)i分配整形變量的內(nèi)存,一般是兩個字節(jié)
  (2)Java聲明了一個Date類的實例變量mybirth,并為其分配了存儲空間,但這個存儲空間里面存儲的只是一個引用,或者說是一個地址,目前的地址里面什么都沒有,那么我們就還不能使用這個實例變量,不能引用它的成員。
  (3)Java創(chuàng)建了一個Date類的實例變量mybirth,并為其成員變量分配了足夠的存儲空間,最后返回對這個存儲空間的一個引用,也就是返回這個存儲空間的首地址,以后就通過mybirth,即這個首地址來訪問這個實例變量里面的各個成員,如mybirth.day,mybirth.month,mybirth.year。
  當(dāng)我們聲明一個基本數(shù)據(jù)類型的變量(如boolean, byte, short, char, int,long,flat,double)時,系統(tǒng)會自動為變量分配內(nèi)存。但是如果聲明了String或者用戶自定義的變量時,系統(tǒng)不會立即為其分配內(nèi)存.為什么會這樣呢?
  這是因為,String和用戶自定義的變量都屬于類的范疇.一個被聲明為類的變量,已經(jīng)不再是一個數(shù)據(jù)了,而變成對數(shù)據(jù)的一個引用,就是說mybirth可以看作是一個指向類的一個實例的指針,里面存放的是地址.這樣的話就好理解了。
  深入一點,既然類的實例變量值是指針,這個指針指向一個類的實例,那么我們顯然可以定義多個名稱不同的類的實例變量,而將它們?nèi)贾赶蛞粋€實例.比如
  University u=new University();//定義了一個類University的實例變量u,并為其分配對象的存儲空間
  University u2=u;//又定義了一個實例變量u2,將u的值賦給u2
  那么顯然u2和u除了名稱不同外,其實是一回事,因為它們指向相同一個地址.

  我覺得弄清楚這一點還是很重要的。這些數(shù)據(jù)結(jié)構(gòu)的東西,是一個程序員需要知道的所以然.

感謝各位的閱讀,以上就是“Applet版的HelloWorld怎么寫”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Applet版的HelloWorld怎么寫這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

分享名稱:Applet版的HelloWorld怎么寫
網(wǎng)站地址:http://muchs.cn/article26/jcpdcg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設(shè)、建站公司標簽優(yōu)化、網(wǎng)站維護外貿(mào)建站、品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化