欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
JavaBean

      JavaBean 是一種JAVA語(yǔ)言寫(xiě)成的可重用組件。為寫(xiě)成JavaBean,類(lèi)必須是具體的和公共的,并且具有無(wú)參數的構造器。JavaBeans 通過(guò)提供符合一致性設計模式的公共方法將內部域暴露稱(chēng)為屬性。眾所周知,屬性名稱(chēng)符合這種模式,其他Java 類(lèi)可以通過(guò)自省機制發(fā)現和操作這些JavaBean 屬性。

      用戶(hù)可以使用JavaBean將功能、處理、值、數據庫訪(fǎng)問(wèn)和其他任何可以用java代碼創(chuàng )造的對象進(jìn)行打包,并且其他的開(kāi)發(fā)者可以通過(guò)內部的JSP頁(yè)面、Servlet、其他JavaBean、applet程序或者應用來(lái)使用這些對象。用戶(hù)可以認為JavaBean提供了一種隨時(shí)隨地的復制和粘貼的功能,而不用關(guān)心任何改變。

      JavaBean是Sun微系統的一個(gè)面向對象的編程接口,它可以讓你建可重用應用程序或能在網(wǎng)絡(luò )中任何主流操作系統平臺上配置的程序塊,稱(chēng)作組件。像Java applet一樣,JavaBeans組件(或“Beans”)能夠給予萬(wàn)維網(wǎng)頁(yè)面交互的能力,例如:計算感興趣的比率或是根據用戶(hù)或瀏覽器的特性改變頁(yè)面內容。

      從用戶(hù)的觀(guān)點(diǎn)來(lái)看,一個(gè)組件可以是一個(gè)與你交互的按鈕或是一個(gè)當你按下按鈕它便開(kāi)始的小計算程序。從一個(gè)開(kāi)發(fā)者的觀(guān)點(diǎn)來(lái)看,那個(gè)按鈕組件和計算器組件是分別被創(chuàng )建的,并且他們可以一起使用或是在不同的應用程序或情況下和不同的組件產(chǎn)生不同的組合來(lái)使用。

      當組件或Beans在使用過(guò)程中,Bean的性質(zhì)(比如,一個(gè)窗口的背景色)對于其他Bean來(lái)說(shuō)是可見(jiàn)的,并且,之前沒(méi)“碰到”過(guò)的Bean也可以動(dòng)態(tài)地獲悉彼此的特性并從而進(jìn)行交互?!?/font>

      Bean是隨Sun的Bean開(kāi)發(fā)包(BDK)開(kāi)發(fā)出來(lái)的,并且能在任何主流操作系統平臺的許多應用程序環(huán)境(人們所說(shuō)的“容器”,container)中運行,包括瀏覽器,文字處理軟件,以及一些其他應用?!?/font>

      要想用JavaBeans建一個(gè)組件,你必須用Sun的Java編程語(yǔ)言來(lái)寫(xiě)程序,并且在程序中包括描述組件特性的JavaBeans語(yǔ)句,這些組件特性例如:用戶(hù)接口的特性,以及觸發(fā)一個(gè)bean和在同一個(gè)容器中或網(wǎng)絡(luò )其他地方的其他的bean交流的事件?! ?/font>

      Bean也有持續性,持續性就是一種把一個(gè)組件的狀態(tài)存在一個(gè)安全處的機制。有了這種持續性,它能使,比如說(shuō),一個(gè)組件(bean)“記住”某個(gè)特定用戶(hù)在早些時(shí)候的用戶(hù)對話(huà)中所輸入的數據?!?/font>

      JavaBeans給Java應用程序提供了OpenDoc和ActiveX接口已提供的這種復合文檔的能力。

一、JavaBean的歷史

      最初,JavaBean的目的是為了將可以重復使用的軟件代碼打包標準。特別是用與幫助廠(chǎng)家開(kāi)發(fā)在綜合開(kāi)發(fā)環(huán)境(IDE)下使用的java軟件部件。這些包括如Grid控件,用戶(hù)可以將該部件拖放到開(kāi)發(fā)環(huán)境中。從此,JavaBean就可以擴展為一個(gè)java web 應用的標準部件,并且JavaBean部件框架已經(jīng)擴展為企業(yè)版的 Bean(EJB)。

二、JavaBean和企業(yè)Bean的區別

      JavaBean 和 Server Bean(通常稱(chēng)為 Enterprise JavaBean (EJB))有一些基本相同之處。它們都是用一組特性創(chuàng )建,以執行其特定任務(wù)的對象或組件。它們還有從當前所駐留服務(wù)器上的容器獲得其它特性的能力。這使得 bean 的行為根據特定任務(wù)和所在環(huán)境的不同而有所不同。

      Enterprise Bean 與 JavaBean 不同。JavaBean 是使用 java.beans 包開(kāi)發(fā)的,它是 Java 2 標準版的一部分。JavaBean 是一臺機器上同一個(gè)地址空間中運行的組件。JavaBean 是進(jìn)程內組件。Enterprise Bean 是使用 javax.ejb 包開(kāi)發(fā)的,它是標準 JDK 的擴展,是 Java 2 Enterprise Edition 的一部分。Enterprise Bean 是在多臺機器上跨幾個(gè)地址空間運行的組件。因此 Enterprise Bean 是進(jìn)程間組件。JavaBean 通常用作 GUI 窗口小部件,而 Enterprise Bean 則用作分布式商業(yè)對象.


三、JavaBean 的發(fā)展

      最初,JavaBean的目的是為了將可以重復使用的軟件代碼打包標準。特別是用與幫助廠(chǎng)家開(kāi)發(fā)在綜合開(kāi)發(fā)環(huán)境(IDE)下使用的java軟件部件。這些包括如Grid控件,用戶(hù)可以將該部件拖放到開(kāi)發(fā)環(huán)境中。從此,JavaBean就可以擴展為一個(gè)java web 應用的標準部件,并且JavaBean部件框架已經(jīng)擴展為企業(yè)版的 Bean(EJB)。

四、JavaBean需求

      avaBean是java類(lèi),屬于某些特定的譯碼知道方針,并且擴展了適應性和范圍,允許用戶(hù)訪(fǎng)問(wèn)內部的屬性和方法。通過(guò)這些,JavaBean類(lèi)可以用于下列方法:

      1.在IDE中,JavaBean的功能允許應用開(kāi)發(fā)者瀏覽其中的方法,即使JavaBean是被編譯的,并且無(wú)法利用原始的源文件。
      2.在 Remote Method Invocation(RMI) 的分布式風(fēng)格中,這項功能聽(tīng)起來(lái)并不讓人興奮,但是在未來(lái)的包含企業(yè)版的JavaBean后,將改變這種情況。
      3.為了JavaBean的屬性值和狀態(tài)可以保存到磁盤(pán)上。

      這里說(shuō)的有些簡(jiǎn)單,如果想了解更多的東西,可以查閱一些資料。


五、JavaBean設計注意事項

      實(shí)際應用中,在表現對象或者處理前擴展JavaBean的設計非常有用。通常認為如果提供信息,web開(kāi)發(fā)者將在功能上滿(mǎn)足擁護對JavaBean的需求。例如: HTML中顯示敏感的數據時(shí),用戶(hù)可以屏蔽的條目,如密碼、電話(huà)號碼等。

      良好規劃設計的JavaBean是值得信賴(lài)的。

      Java 中的 null 不同于 SQL 中的 null

      看這樣一道測試程序:

public class NullTest
{
public static void main(String[] args)
{
int I = 0;
// int I = null; // not a valid initialization
String str = null;
String strZeroOutValue = “”;
StringBuffer sb = new StringBuffer(“Null test: String initialized as null = “);
sb.append(str);
sb.append(“\n String representing a Zero Out Value:”);
sb.append(strZeroOutValue);
System.out.println(sb.toString());
}
}
      這個(gè)程序將產(chǎn)生下面的結果:

Null test: String initialized as null = null
String representing a Zero Out Value:

      在JavaBean中, 我們將 I 變量聲明為一個(gè) int, 我們必須處理與該變量相關(guān)的值,因為I 默認的沒(méi)有值,int 類(lèi)型無(wú)法初始化為 null, 如果int 值沒(méi)有進(jìn)行明確的初始化,編譯器將提示錯誤。
執行 NullTest 程序,將驗證在文本中空字符串是空值的替代,用于顯示 SQL 的插入和更新。如果我們需要刪除一些信息,通過(guò)刪除表單區域的文本,需要將數據庫發(fā)送長(cháng)度為0的字符串。
盡管大多數數據庫將空字符串作為空值進(jìn)行操作,如果我們使用的數據庫不支持處理空字符串的話(huà),我們必須寫(xiě)入附加的java代碼,來(lái)創(chuàng )建自己的SQL插入聲明。
例如:
if(test.length==0)
{
sb.append(“null”);
}
else
{
sb.append(test);
}

      JavaBean 的范圍:


      JavaBean 的范圍。 Scope 是一個(gè)具有生命時(shí)間的變量。JavaBean的范圍在
標志中右邊進(jìn)行表示。將產(chǎn)生一個(gè)JavaBean的快捷參考。

      說(shuō)明:jsp服務(wù)器引擎將剝離

      存在下面四種范圍: 頁(yè)面、 請求、 對話(huà)、 應用。


      對話(huà)范圍:
      對話(huà)范圍的JavaBean 主要應用與跨多個(gè)頁(yè)面和時(shí)間段: 例如填充 用戶(hù)信息。 添加信息并且接受回饋,保存用戶(hù)最近執行頁(yè)面的軌跡。對話(huà)范圍JavaBean保留一些和用戶(hù)對話(huà) ID 相關(guān)的信息。這些信息來(lái)自臨時(shí)的對話(huà)cookie,并在當用戶(hù)關(guān)閉瀏覽器時(shí),這個(gè)cookie將從客戶(hù)端和服務(wù)器刪除。


      頁(yè)面/請求范圍:
      頁(yè)面和請求范圍的JavaBean有時(shí)類(lèi)似表單 的bean , 這是因為 他們大豆用與處理表單。表單需要很長(cháng)的時(shí)間來(lái)處理用戶(hù)的輸入,通常情況下用于頁(yè)面接受HTTP/POST或者GET請求。另外頁(yè)面和請求范圍的bean可以用于減少大型站點(diǎn)服務(wù)器上的負載,如果使用對話(huà)bean,耽擱的處理就可能會(huì )消耗掉很多資源。


      應用:

      應用范圍通常應用于服務(wù)器的部件,例如 JDBC 連接池、應用監視、擁護計數和其他參與用戶(hù)行為的類(lèi)。


      在Bean中限制HTML的產(chǎn)生:

      理論上,JavaBean 將不會(huì )產(chǎn)生任何HTML,因為這是jsp層負責的工作;然而,為了動(dòng)態(tài)消息提供一些預先準備的格式是非常有用的。產(chǎn)生的HTML將被標注的 JavaBean方法返回。

      這里有一些非常重要的事情:

      1.不要試圖在JavaBean返回的HTML中放置任何字體尺寸。
      并不是所有的瀏覽器都相同。很多瀏覽器無(wú)法處理完整的字體尺寸。
      2.不要試圖在JavaBean返回的HTML中放置任何腳本或者DHTML。
      向頁(yè)面直接輸出腳本或者DHTML相當于自我毀滅,因為某些瀏覽器版本在處理不正確的腳本時(shí)會(huì )崩潰(非常少但是有)。如果用戶(hù)的JavaBean在運行時(shí)是動(dòng)態(tài)的推出復雜的HTML語(yǔ)言,用戶(hù)將陷入調試的噩夢(mèng)。另外,復雜的HTML將限制JavaBean的壽命和靈活性。
      3.不要提供任何的選擇。
      如果用戶(hù)使用不同的系統瀏覽頁(yè)面,可以提供一種可以替換的方法。

六、JavaBean的任務(wù)

      JavaBean的任務(wù)就是: “Write once, run anywhere, reuse everywhere”,即“一次性編寫(xiě),任何地方執行,任何地方重用”。這個(gè)任何實(shí)際上就是要解決困擾軟件工業(yè)的日益增加的復雜性,提供一個(gè)簡(jiǎn)單的、緊湊的和優(yōu)秀的問(wèn)題解決方案。

      1. 一個(gè)開(kāi)發(fā)良好的軟件組件應該是一次性地編寫(xiě),而不需要再重新編寫(xiě)代碼以增強或完善功能。因此,JavaBean應該提供一個(gè)實(shí)際的方法來(lái)增強現有代碼的利用率,而不再需要在原有代碼上重新進(jìn)行編程。除了在節約開(kāi)發(fā)資源方面的意義外,一次性地編寫(xiě)JavaBean組件也可以在版本控制方面起到非常好的作用。開(kāi)發(fā)者可以不斷地對組件進(jìn)行改進(jìn),而不必從頭開(kāi)始編寫(xiě)代碼。這樣就可以在原有基礎上不斷提高組件功能,而不會(huì )犯相同的錯誤。

      2. JavaBean組件在任意地方運行是指組件可以在任何環(huán)境和平臺上使用,這可以滿(mǎn)足各種交互式平臺的需求。由于JavaBean是基于Java的,所以它可以很容易地得到交互式平臺的支持。JavaBean組件在任意地方執行不僅是指組件可以在不同的操作平臺上運行,還包括在分布式網(wǎng)絡(luò )環(huán)境中運行。

      3.JavaBean組件在任意地方的重用說(shuō)的是它能夠在包括應用程序、其他組件、文檔、Web站點(diǎn)和應用程序構造器工具的多種方案中再利用。這也許是JavaBean組件的最為重要的任務(wù)了,因為它正是JavaBean組件區別于Java程序的特點(diǎn)之一。Java程序的任務(wù)就是JavaBean組件所具有的前兩個(gè)任務(wù),而這第3個(gè)任務(wù)卻是JavaBean組件獨有的。


七、JavaBean的設計目標及其如何被實(shí)現

      現在我們來(lái)看一實(shí)現JavaBean的一些具體的主要設計目標:

      1.緊湊而方便的創(chuàng )建和使用

      JavaBean緊湊性的需求是基于JavaBean組件常常用于分布式計算環(huán)境中,這使得JavaBean組件常常需要在有限的帶寬連接環(huán)境下進(jìn)行傳輸。顯然,為了適應傳送的效率和速度,JavaBean組件必須是越緊湊越好。另外,為了更好地創(chuàng )建和使用組件,就應該使其越簡(jiǎn)單越好。通常為了提高組件的簡(jiǎn)易性和緊湊性,設計過(guò)程需要投入相對較大的功夫。

      現在已有的組件軟件技術(shù)通常是使用復雜的API,這常常搞得開(kāi)發(fā)者在創(chuàng )建組件時(shí)暈頭轉向。因此,JavaBean組件必須不僅容易使用,而且必須便于開(kāi)發(fā)。這對于組件開(kāi)發(fā)者而言是至關(guān)重要的,因為這可以使得開(kāi)發(fā)者不必花大量功夫在使用API進(jìn)行程序設計上,從而更好地對組件進(jìn)行潤飾,提高組件的可觀(guān)賞性。

      JavaBean組件大部分是基于已有的傳統Java編程的類(lèi)結構上的,這對于那些已經(jīng)可以熟練地使用Java語(yǔ)言的開(kāi)發(fā)者非常有利。而且這可以使得JavaBean組件更加緊湊,因為Java語(yǔ)言在編程上吸收了以前的編程語(yǔ)言中的大量?jì)?yōu)點(diǎn),已經(jīng)使開(kāi)發(fā)出來(lái)的程序變得相當有效率。

      2.完全的可移植性

      JavaBean API與操作基礎的獨立于平臺的Java系統相結合,提供了獨立于平臺的組件解決方案。因此,組件開(kāi)發(fā)者就可以不必再為帶有Java applet平臺特有的類(lèi)庫而擔心了。最終的結果都將是計算機界共享可重復使用的組件,并在任何支持Java的系統中無(wú)需修改地執行。

      3.繼承Java的強大功能

      現有的Java結構已經(jīng)提供了多種易于應用于組件的功能。其中一個(gè)比較重要的是Java本身的內置類(lèi)發(fā)現功能,它可以使得對象在運行時(shí)彼此動(dòng)態(tài)地交互作用,這樣對象就可以從開(kāi)發(fā)系統或其開(kāi)發(fā)歷史中獨立出來(lái)。

      對于JavaBean而言,由于它是基于Java語(yǔ)言的,所以它就自然地繼承了這個(gè)對于組件技術(shù)而言非常重要的功能,而不再需要任何額外開(kāi)銷(xiāo)來(lái)支持它。

      JavaBean繼承在現有Java功能中還有一個(gè)重要的方面,就是持久性,它保存對象并獲得對象的內部狀態(tài)。通過(guò)Java提供的序列化(serialization)機制,持久性可以由JavaBean自動(dòng)進(jìn)行處理。當然,在需要的時(shí)候,開(kāi)發(fā)者也可以自己建立定制的持久性方案。

      4.應用程序構造器支持

      JavaBean的另一個(gè)設計目標是設計環(huán)境的問(wèn)題和開(kāi)發(fā)者如何使用JavaBean創(chuàng )建應用程序。JavaBean體系結構支持指定設計環(huán)境屬性和編輯機制以便于JavaBean組件的可視化編輯。這樣開(kāi)發(fā)者可以使用可視化應用程序構造器無(wú)縫地組裝和修改JavaBean組件。就像Windows平臺上的可視化開(kāi)發(fā)工具VBX或OCX控件處理組件一樣。通過(guò)這種方法,組件開(kāi)發(fā)者可以指定在開(kāi)發(fā)環(huán)境中使用和操作組件的方法。

      5.分布式計算支持

      支持分布式計算雖然不是JavaBean體系結構中的核心元素,但也是JavaBean中的一個(gè)主要問(wèn)題。

      JavaBean使得開(kāi)發(fā)者可以在任何時(shí)候使用分布式計算機制,但不使用分布式計算的核心支持來(lái)給自己增加額外負擔。這正是出于JavaBean組件的緊湊性考慮的,無(wú)疑分布式計算需要大量的額外開(kāi)銷(xiāo)。


八、JavaBean和Java

      雖然JavaBean和Java之間已經(jīng)有了明確的界限,但在某些方面JavaBean和Java之間仍然存在著(zhù)非常明顯的混淆。Java確實(shí)是能夠為用戶(hù)創(chuàng )建可重用的對象,但它卻沒(méi)有管理這些對象相互作用的規則或標準。JavaBean通過(guò)指定定義對象之間交互作用的機制,以及大部分對象需要支持的常用行為,如持久性和實(shí)際處理等,建立了自己需要的組件模型。

      雖然當前的Java組件模型也可以運行得很好,但在傳送真正的可重用性和交互操作性上仍然非常有限,Java用戶(hù)需要做的最多的一件事就是創(chuàng )建applet并使得它們在Web 頁(yè)面上相互通訊,這并非易事。JavaBean提供了一個(gè)框架包,使用這個(gè)包進(jìn)行通訊就容易得多了。

      JavaBean組件能夠通過(guò)定義好的標準屬性改進(jìn)性能??傮w而言,JavaBean充分發(fā)展了Java applet的功能,并結合了Java AWT組件的緊湊性和可重用性。


九、JavaBean組件的基本概念

      JavaBean是可復用的平臺獨立的軟件組件,開(kāi)發(fā)者可以在軟件構造器工具中其直接進(jìn)行可視化操作。
      軟件構造器工具可以是Web頁(yè)面構造器、可視化應用程序構造器、CUI設計構造器或服務(wù)器應用程序構造器。有時(shí),構造器工具也可以是一個(gè)包含子一些bean的復合文檔的文檔編輯器。
      JavaBean可以是簡(jiǎn)單的CUI要素,如按鈕或滾動(dòng)條;也可以是復雜的可視化軟件組件,如數據庫視圖,有些JavaBean是沒(méi)有GUI表現形式的,但這些JavaBean仍然可以使用應用程序構造器可視化地進(jìn)行組合。
      一個(gè)JavaBean和一個(gè)Javaapplet相似,是一個(gè)非常簡(jiǎn)單的遵循某種嚴格協(xié)議的Java類(lèi)。每個(gè)JavaBean的功能都可能不一樣,但它們都必須支持以下特征。
      一個(gè)bean沒(méi)有必須繼承的特定的基類(lèi)或接口??梢暬腷ean必須繼承的類(lèi)是java.awt.Component,這樣它們才能添加到可視化容器中去,非可視化bean則不需要繼承這個(gè)類(lèi)。有許多bean,無(wú)論是在應用程序構造器工具中,還是在最后創(chuàng )建好的應用程序中,都具有很強的可視化特征,但這并非每個(gè)bean必須的特征。
      在使用Java編程時(shí),并不是所有軟件模塊都需要轉換成bean。Bean比較適合于那些具有可視化操作和定制特性的軟件組件。
      從基本上說(shuō),JavaBean可以看成是一個(gè)黑盒子,即只需要知道其功能而不必管其內部結構的軟件設備。黑盒子只介紹和定義其外部特征和與其他部分的接口,如按鈕、窗口、顏色、形狀、句柄等。
      通過(guò)將系統看成使用黑盒子關(guān)聯(lián)起來(lái)的通訊網(wǎng)絡(luò ),我們可以忽略黑盒子內部的系統細節,從而有效地控制系統的整體性能。作為一個(gè)黑盒子的模型,JavaBean有3個(gè)接口面,可以獨立進(jìn)行開(kāi)發(fā)。
      1. JavaBean可以調用的方法。
      2. JavaBean提供的可讀寫(xiě)的屬性。
      3. JavaBean向外部發(fā)送的或從外部接收的事件。


九、JavaBean組件的開(kāi)發(fā)環(huán)境


      普通JavaBean組件是要分布在各自環(huán)境中,所以它們應該能夠適應各種環(huán)境。雖然我們無(wú)法事先預知JavaBean要運行的確切環(huán)境,但以下兩點(diǎn)是可以確定的:
      1. bean必須能夠在一個(gè)應用程序構造器工具中運行。
      2. bean必須可以在產(chǎn)生的應用程序的運行環(huán)境中使用。

      設計環(huán)境

      第一點(diǎn)說(shuō)明的是bean必須可以在設計環(huán)境(design environment)中運行。在設計環(huán)境中,bean應該提供設計信息給應用程序構造器工具并允許終端用戶(hù)制定bean的外  觀(guān)和行為。
在傳統的軟件構造活動(dòng)中,必須通過(guò)編譯、鏈接之后才能看到應用程序的最終運行結果;而利用JavaBean設計的軟件中,則沒(méi)有這種明確的界限。使用JavaBean,就可以非常直觀(guān)地設計應用程序軟件,在設計過(guò)程中賦予軟件生機。而且,這個(gè)過(guò)程更加容易重復開(kāi)發(fā),設計思想更加容易變成原型。

      運行環(huán)境

      第二點(diǎn)說(shuō)明的是bean必須可以在運行環(huán)境(run-time environment)中使用。在這個(gè)環(huán)境中,對設計信息和定制的需求并不重要。一個(gè)組件的設計環(huán)境信息和設計環(huán)境中編寫(xiě)的代碼通??赡苁欠浅>薮蟮?。
      因此,我們可能需要在bean的設計環(huán)境方面和運行環(huán)境方面作一個(gè)明確的區分,這樣,就可能需要在運行環(huán)境中不使用bean的任何設計環(huán)境代碼來(lái)配置這個(gè)bean。所以,JavaBean就必須分別支持運行環(huán)境接口的類(lèi)庫和設計環(huán)境接口的類(lèi)庫。

 

十、JavaBean入門(mén)


一般要求
首先,您必須有一個(gè)不帶有參數的公用構造器。此構造器也應該通過(guò)調用各個(gè)特性的設置方法來(lái)設置特性的缺省值,例如:

public Fireworks()
{
setAutoStart(true);
setBackground(Color.black);
setSpeed(10);
setRadius(40);
.
.
.
}

如果 bean 是一個(gè)從 java.awt.Component 類(lèi)繼承而來(lái)的可視 bean,您就應該為 bean 定義一個(gè)缺省的首選大小,例如:

public Dimension getPreferredSize()
{
return (new Dimension(radius*3, radius*3));
}

public Dimension getMinimumSize()
{
return getPreferredSize();
}


特性
對于您需要的每個(gè)特性,您應該有一個(gè)帶有匹配公用 getter 和 setter 方法的專(zhuān)用實(shí)例變量,例如:

private int speed;
.
.
.
public int getSpeed()
{
return speed;
}

public void setSpeed(int s)
{
speed = s;
}

此 get 和 set 方法必須有與實(shí)例變量相同的名稱(chēng),但是第一個(gè)字母要大寫(xiě)并以 get 和 set 開(kāi)頭。

由于連接而在任何時(shí)候更改它們的特性時(shí),確認 Bean 在運行時(shí)行為正確也是很重要的。如果特性的更改影響到 Bean 的可視外觀(guān),您應該以此特性設置的方法來(lái)調用

repaint();。


同樣,如果特性的更改影響到 bean 的大小和位置,您需要確認獲得驗證的事物。我們建議編寫(xiě)您自己的 validateAll 方法,如下所示:

private void validateAll()
{
if (isValid())
{
Component self = this;
self.invalidate();
Component myParent = self.getParent();
if (myParent != null)
{
myParent.invalidate();
self = myParent;
}
self.validate();
}
}

然后以此特性設置的方法調用

validateAll();。


 

bean 類(lèi)將無(wú)法進(jìn)行關(guān)于調用特性設置方法命令的假設。您應該寫(xiě) bean 以便可以初始構造它,然后在不引起錯誤的同時(shí)在任何命令中設置其特性。


操作
對于每個(gè)您需要的操作,您應該有一個(gè)公用方法,例如:

public void start()
{
if(thread==null)
{
thread=new Thread(this);
thread.start();
}
}

您為操作寫(xiě)的方法應該在無(wú)須期待用戶(hù)創(chuàng )建連接或設置很多特性的情況下獨立操作。 例如,如果您寫(xiě)了一個(gè)音頻 Bean,您希望通過(guò)播放操作處理打開(kāi)聲音的所有步驟、完成您需要的所有設置并播放聲音。同樣,即使聲音未播放,停止操作也應起作用。


事件
對于您需要的每個(gè)事件或事件設置,您應該定義事件和偵聽(tīng)器類(lèi)。對于此例,查看 FireworksEvent.java 源文件以及 Fireworks.java 文件。此事件類(lèi)的源應該如同這樣:

import java.awt.*;
import java.util.*;

public class FireworksEvent extends EventObject
{
public static final int EXPLODED = 1;

int id = 0;

public FireworksEvent(Component source, int id)
{
super(source);
this.id = id;
}

public int getID()
{
return id;
}
}

您應該為此事件設置中的每個(gè)事件定義一個(gè)公用靜態(tài)結束事件標識符,例如在此例子中的 EXPLODED。

對于偵聽(tīng)器類(lèi)的源,查看 FireworksListener.java 源文件:

import java.util.*;

public interface FireworksListener extends EventListener
{
public abstract void exploded(FireworksEvent e);
}

您應該為此事件設置中的每個(gè)事件定義一個(gè)公用抽象方法,例如在此例子中的 exploded。 而且,偵聽(tīng)器類(lèi)必須擴展 EventListener ,以使 JAR 向導能夠找到它。

然后,如果由 bean 類(lèi)播送事件,它必須跟蹤偵聽(tīng)事件的對象。要這樣做,您需要定義偵聽(tīng)器實(shí)例變量以及 addListener 和 removeListener 方法。返回 Fireworks.java 源,例如,您將查看到:

private Vector listeners = new Vector();
.
.
.
public void addFireworksListener(FireworksListener f)
{
listeners.addElement(f);
}

public void removeFireworksListener(FireworksListener f)
{
listeners.removeElement(f);
}

最后,bean 類(lèi)需要以正確的次數將事件實(shí)際播送到所有的偵聽(tīng)器。要這樣做,您需要定義 processEvent 方法并以適當的次數調用它,例如:

public void processFireworksEvent(FireworksEvent e)
{
for (Enumeration enum = listeners.elements(); enum.hasMoreElements(); )
((FireworksListener)enum.nextElement()).exploded(e);
}

public void run()
{
.
.
.
processFireworksEvent(new FireworksEvent(this, FireworksEvent.EXPLODED));
}

(來(lái)源:www.seasky.biz;www.daima.com.cn;www.cnpaf.net)

 

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Tapestry開(kāi)發(fā)者指南(5)
Java的組件技術(shù)-JavaBean
J2EE容器,EJB、JNDI概念掃盲
Java EE 7 三大新特性的介紹
ASP與JSP的比較
JSP應用開(kāi)發(fā)的背景及特點(diǎn)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久