《Java編程思想》讀書筆記(2)

來源:互聯網
上載者:User

sun為何要開發出applet這個東西,究竟瀏覽器在用戶端編程方面還存在哪些方面的不足哪?這是我開始applet這一節學習時所思考的第一個問題。Applet是嵌入到web瀏覽器中的小程式(它和微軟的ActiveX控制項又有什麼區別哪?不解。。。)。

 

在我看來,需要一種東西,既能有B/S模式的“瘦用戶端”的優點,也能加進C/S模式的強大,豐富的編程能力,這樣就對web瀏覽器的功能進行擴充。Applet出現的一個原因吧。但由於Applet是從伺服器當下來的,因此出於安全的考慮,對它的限 制也就很多。(Java的運行時安全系統始終都盯著這個“潘多拉魔盒”哪。):1)它不能訪問(讀寫)本地磁碟。這當然是處於安全的考慮了,但過分的安全性限制也會損害許多可信的Applet的應用,因此,sun提高了數位簽章來讓使用者對applet的行為進行選擇。2)Applet 是位於伺服器端的,因此每次都需要下載到用戶端,如果每需要一個類就通過瀏覽器去下載的話,那麼使用者等待的時間就過長了。因此我們應該把Applet的全 部組件打包成一個jar,這樣就只要向伺服器發一個請求就可以完全地下載所需的Applet.當然,Applet的優勢也是明顯的:1)C/S模式的缺點 就是軟體更新時,用戶端的安裝和維護太煩瑣了,而版本混亂帶來的’dll 地獄“更是惱人。而Applet在JVM的基礎上真正實現了平台無關,因此使用者只要本地機器上安裝有虛擬機器,就可以直接下載運行Applet.因此當 Applet更新時就可以避免用戶端安裝更新的麻煩了。2)由於java和Applet的內建安全機制,因此使用者可以不必擔心Applet危害客戶機器。

 

應用程式框架(application framework)的 類庫的目的是,提供一個或一組具備某些準系統的類,協助程式員建立應用程式。而這些準系統,是這類應用程式所必備的。於是你寫應用程式的時候,只要繼承這個類,然後再根據需要,覆寫幾個你感興趣的方法,定製一下它的行為就可以了。應用程式框架的預設控制機制會在適當的時機,調用那些你寫的方法。應用程式框架是 一種"將會變和不會變的東西分開來"的絕好的例子。它的設計思想是,通過覆寫方法把程式的個人化部分留在本地。將不變部分和可變部分分開,就能應對業務的變化。Applet是用應用程式框架建立的。你只要繼承JApplet類,再覆寫幾個方法就可以了。



init( )
 applet初始化的時候會自動調用,其任務包括裝載組件的布局。必須覆寫。
 
start( )
 在Web瀏覽器上顯示applet的時候調用。顯示完畢之後,applet才開始正常工作,(特別是那些用stop( )關閉的applet)。(此外,應用程式框架)調用完init( )之後也會調用這個方法。
 
stop( )
 讓applet從Web瀏覽器上消失的時候調用,這樣它就能關閉一些很耗資源的操作了。此外(應用程式框架調用)destroy( )之前也會先調用這個方法。
 
destroy( )
 當(瀏覽器)不再需要這個applet了,要把它從頁面裡卸載下來的時候,就會調用這個方法以釋放資源了。
 

 

 

二話不說,先來個簡單例子:

import java.awt.*;

import javax.swing.*;

public class TestApplet extends JApplet

{

    public void init()

    {

       Button btnOk = new Button(“確定”);

       this.getContentPane().add(btnOk);

    }

}

Swing要求將所有的組件都加到表單的"內容面板(content pane)"上,所以add( )的時候,必須先調用getContentPane( ),而不是象AWT一樣直接add到表單中。

要想運行程式,先得把applet放到Web頁面裡,然後用一個能運行Java的Web瀏覽器開啟頁面。你得用一種特殊的標記把applet放到Web頁面裡,然後讓它來告訴頁面該怎樣裝載並運行這個applet。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.