根據應用剪裁javaBeans(1)
· 摘 要
對于可定制的組件(Components),開發者可以根據自己的需要剪裁。可定制的JavaBeans中有應用程序開發者可以修改的屬性(PRoperties)──例如,改變Beans的外觀和/或動作。本文將介紹如何定制JavaBeans。我們將討論屬性、讀取器(getter)和設置器(setter)方法(Mothods),綁定(Bound)和約束(Constrained)屬性,以及使定制簡單化的設計模板(Design Pattern)。然后介紹屬性編輯器(Editors)和定制器(Customizers),最后我們在一個已有的JavaBeans中增加定制功能。
可定制的組件有更大的應用范圍。例如,對于一個電子表格(Spreadsheets)Bean,假如它必須占滿全屏幕、與你的應用程序顏色方案沖突或者只能以16進制方式顯示數據,不管它在其他方面的功能有多出色,你恐怕不能用它。
JavaBeans規范對簡單情況提供了非常簡單的識別、修改屬性的特征,對復雜的情況提供了擴展。
本文將研究JavaBeans的定制接口、組件屬性、以及如何編寫你的Beans使得集成開發環境(IDEs)可以將這些屬性顯示給應用程序開發者。我們還將討論以下的問題:綁定和約束屬性,它們可以方便Beans之間通信和維持一致性;定制器,它可以使我們更方便地定制;BeanBox的使用,它是Sun免費提供的JavaBeans測試工具。
· 什么是定制軟件組件是通用的功能和數據模塊,它可以在很多情況下使用,軟件組件的定制是很重要的,假如應用程序開發者可以控制其外觀和行為,它才能在很多應用程序中得到應用。例如,假如一個按鈕類的文本標簽總是“Button”,與之相關的動作總是重啟計算機(雖然在一些操作系統中這可能是最有用的工具之一)的話,那它是沒有多大用處的。
簡單的組件,如按鈕都有很多開發者可以控制的屬性,其中包括:
復雜的組件需要更多的定制。定制一個遠程數據庫連接可能從可用的服務器列表中進行選擇(信息只有在運行時才可用)、選擇協議(同上)、指定用戶名和密碼和設置通過防火墻訪問。
· Beans 的屬性一般說來,定制就是配置Beans的內部狀態,使其外觀和行為適合所用的環境。這些內部狀態(顏色、大小和密碼字符串等)在JavaBeans規范里稱為屬性。Beans中的屬性可以用稱為訪問器(accessors)的方法讀取和修改。一個訪問器方法是讀取屬性值的getter方法,或者是修改屬性值的setter方法。在按鈕Beans中有String getLabel()方法,它返回Beans的當前標簽,有void setLabel(StringnewLabel)方法,它設置Beans的當前標簽,只有getter方法的屬性是只讀的。
為什么不簡單地訪問Beans內部地數據成員,直接讀取和修改它們,而是編寫一些訪問器呢?因為不能保證屬性和Beans內部的成員數據直接對應。例如,Beans中的標簽屬性可能是一個AWT標簽對象,但是也可能不是。標簽文本可能來自數據庫,可能是另一個Bean的標簽,也可能當需要時形成一個標簽。訪問器方法是Beans中屬性的統一接口,它隱藏了屬性的實現細節。這是好的面向對象編程慣例,因為它減小了對象間的依靠和“耦合”。
新聞熱點
疑難解答