程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 基本程序片(java)

基本程序片(java)

編輯:關於JAVA

庫通常按照它們的功能來進行組合。一些庫,例如使用過的,便中斷擱置起來。標准的Java庫字符串和矢量類就是這樣的一個例子。其他的庫被特殊地設計,例如構建塊去建立其它的庫。庫中的某些類是應用程序的框架,其目的是協助我們構建應用程序,在提供類或類集的情況下產生每個特定應用程序的基本活動狀況。然後,為我們定制活動狀況,必須繼承應用程序類並且廢棄程序的權益。應用程序框架的默認控制結構將在特定的時間調用我們廢棄的程序。應用程序的框架是“分離、改變和中止事件”的好例子,因為它總是努力去嘗試集中在被廢棄的所有特殊程序段。

程序片利用應用程序框架來建立。我們從類中繼承程序片,並且廢棄特定的程序。大多數時間我們必須考慮一些不得不運行的使程序片在WEB頁面上建立和使用的重要方法。這些方法是:
 

Method
 

Operation
 

init()
 

Called when the applet is first created to perform first-time initialization of the applet
 

start()
 

Called every time the applet moves into sight on the Web browser to allow the applet to start up its normal operations (especially those that are shut off by stop()). Also called after init().
 

paint()
 

Part of the base class Component (three levels of inheritance up). Called as part of an update() to perform special painting on the canvas of an applet.
 

stop()
 

Called every time the applet moves out of sight on the Web browser to allow the applet to shut off expensive operations. Also called right before destroy().
 

destroy()
 

Called when the applet is being unloaded from the page to perform final release of resources when the applet is no longer used
 


方法 作用

init() 程序片第一次被創建,初次運行初始化程序片時調用
start() 每當程序片進入Web浏覽器中,並且允許程序片啟動它的常規操作時調用(特殊的程序片被stop()關閉);同樣在init()後調用
paint() 基礎類Component的一部分(繼承結構中上溯三級)。作為update()的一部分調用,以便對程序片的畫布進行特殊的描繪
stop() 每次程序片從Web浏覽器的視線中離開時調用,使程序片能關閉代價高昂的操作;同樣在調用destroy()前調用
destroy() 程序片不再需要,將它從頁面中卸載時調用,以執行資源的最後清除工作

現在來看一看paint()方法。一旦Component(目前是程序片)決定自己需要更新,就會調用這個方法——可能是由於它再次回轉屏幕,首次在屏幕上顯示,或者是由於其他窗口臨時覆蓋了你的Web浏覽器。此時程序片會調用它的update()方法(在基礎類Component中定義),該方法會恢復一切該恢復的東西,而調用paint()正是這個過程的一部分。沒必要對paint()進行過載處理,但構建一個簡單的程序片無疑是方便的方法,所以我們首先從paint()方法開始。
update()調用paint()時,會向其傳遞指向Graphics對象的一個句柄,那個對象代表准備在上面描繪(作圖)的表面。這是非常重要的,因為我們受到項目組件的外觀的限制,因此不能畫到區域外,這可是一件好事,否則我們就會畫到線外去。在程序片的例子中,程序片的外觀就是這界定的區域。
圖形對象同樣有一系列我們可對其進行的操作。這些操作都與在畫布上作圖有關。所以其中的大部分都要涉及圖像、幾何菜狀、圓弧等等的描繪(注意如果有興趣,可在Java文檔中找到更詳細的說明)。有些方法允許我們畫出字符,而其中最常用的就是drawString()。對於它,需指出自己想描繪的String(字串),並指定它在程序片作圖區域的起點。這個位置用像素表示,所以它在不同的機器上看起來是不同的,但至少是可以移植的。
根據這些信息即可創建一個簡單的程序片:
 

//: Applet1.java
// Very simple applet
package c13;
import java.awt.*;
import java.applet.*;

public class Applet1 extends Applet {
  public void paint(Graphics g) {
    g.drawString("First applet", 10, 10);
  }
} ///:~

注意這個程序片不需要有一個main()。所有內容都封裝到應用程序框架中;我們將所有啟動代碼都放在init()裡。
必須將這個程序放到一個Web頁中才能運行,而只能在支持Java的Web浏覽器中才能看到此頁。為了將一個程序片置入Web頁,需要在那個Web頁的代碼中設置一個特殊的標記(注釋①),以指示網頁裝載和運行程序片。這就是applet標記,它在Applet1中的樣子如下:
 

<applet
code=Applet1
width=200
height=200>
</applet>

①:本書假定讀者已掌握了HTML的基本知識。這些知識不難學習,有許多書籍和網上資源都可以提供幫助。

其中,code值指定了.class文件的名字,程序片就駐留在那個文件中。width和height指定這個程序片的初始尺寸(如前所述,以像素為單位)。還可將另一些東西放入applet標記:用於在因特網上尋找其他.class文件的位置(codebase)、對齊和排列信息(align)、使程序片相互間能夠通信的一個特殊標識符(name)以及用於提供程序片能接收的信息的參數。參數采取下述形式:
<Paramname=標識符 value ="信息">
可根據需要設置任意多個這樣的參數。
在簡單的程序片中,我們要做的唯一事情是按上述形式在Web頁中設置一個程序片標記(applet),令其裝載和運行程序片。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved