国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

利用JavaBeans在應(yīng)用程序中創(chuàng)建組件

2019-11-18 15:34:13
字體:
供稿:網(wǎng)友

  javaBeans模塊使開發(fā)人員能夠創(chuàng)建稱之為組件的軟件單元(也就是我們熟知的beans).你可以把beans加載在更復(fù)雜的組件、Java小型應(yīng)用程序(applets)或應(yīng)用程序上。JavaBeans廣泛應(yīng)用于IDE應(yīng)用程序,使你能夠很輕易地可視化組合組件并動(dòng)態(tài)修改它的屬性。

  Beans是動(dòng)態(tài)的,答應(yīng)你改變和定制它。在JavaBean Builder Tool里的設(shè)計(jì)模塊中,你能利用 Bean的屬性窗口來可視化定制和保存(持久)bean。你也可以從toolbox中選擇一個(gè)bean,把它拖拽到窗體中,再修改它的外觀和行為與定義它和其他Bean的交互關(guān)系,并把它和其他Bean組合到一個(gè)applet或應(yīng)用程序、或新的Bean里面去。

  Beans在功能和用途上應(yīng)用很廣。比如說,以下項(xiàng)都用到了beans:

  ·圖形化用戶接口(GUI)

  ·非可視化beans,比如拼寫檢測器

  ·別的類型,比如applets 

  JavaBean規(guī)范

  一個(gè)JavaBean其實(shí)就是一個(gè)Java類。JavaBeans API規(guī)范書中針對(duì)它的方法和屬性定義了一個(gè)簡單的規(guī)范,你必須在Java類中用這些方法和屬性,否則就不能成為一個(gè)JavaBean。Bean的特征(也就是屬性、方法、事件)都應(yīng)能被帶有bean的應(yīng)用程序發(fā)現(xiàn),或者被IDE應(yīng)用程序發(fā)現(xiàn),比如IBM Eclispse或Intellij IDEA。這種發(fā)現(xiàn)過程被稱之為內(nèi)?。╥ntrospection)。

  Beans以以下二種方式支持內(nèi)?。╥ntrospection):

  它們根據(jù)特定的規(guī)則也就是熟知的設(shè)計(jì)模式來命名特征。Java.bean.Introspector類通過檢查設(shè)計(jì)模式來發(fā)現(xiàn)bean特征。Java.beans.Introspector類依靠核心的Java反射API。

  它們利用一個(gè)相關(guān)聯(lián)的bean信息類來顯式提供屬性、方法和事件信息,這個(gè)類實(shí)現(xiàn)BeanInfo接口,它能顯式的提供給那些應(yīng)用程序創(chuàng)建工具(Builder Tool)要用到的特征。

  屬性是bean的外觀和行為的特征,你可以在設(shè)計(jì)的時(shí)候修改。Bean Builder工具通過內(nèi)省(introspection)發(fā)現(xiàn)它的屬性并提供給外部用于處理。Bean對(duì)外提供屬性的操作,所以它們能在設(shè)計(jì)的時(shí)候來定制。定制有二種方式:一是通過使用屬性編輯器,另外一個(gè)是通過使用功能更強(qiáng)大的bean定制器。

  Beans使用事件與其他beans進(jìn)行通信。接受事件的bean(監(jiān)聽bean)和激活事件的bean(源bean)通過注冊(cè)聯(lián)系起來。Bean Builder工具能檢測一個(gè)bean并判定哪個(gè)beans能激活事件(發(fā)送),哪個(gè)能處理事件(接收)。

  持久性(Persistence)確保beans能保存和恢復(fù)它們的狀態(tài)。修改一個(gè)bean的屬性后,你可以保存bean的狀態(tài)并能在以后恢復(fù)到未改變時(shí)的狀態(tài)。JavaBean體系結(jié)構(gòu)利用Java對(duì)象序列化來支持持久性。Bean的方法和java的方法沒有區(qū)別,你也可以從別的beans或者一個(gè)腳本環(huán)境中去調(diào)用這些方法。缺省情況下,所有public方法都是對(duì)外可調(diào)用的。

  為了確保一個(gè)java類成為JavaBean,有以下四個(gè)簡單的也是必須的規(guī)范:

  ·這個(gè)類是可序列化的(能夠持久保存也能恢復(fù)狀態(tài)),也就是,它必須實(shí)現(xiàn)java.io.Serializable接口。

  ·這個(gè)類必須帶有一個(gè)無參數(shù)的構(gòu)造方法。

  ·這個(gè)類的屬性必須通過使用get、set和其他按標(biāo)準(zhǔn)命名規(guī)范來命名的方法來操作:getPRoperty()和setProperty()用于非布爾屬性,isProperty()用于布爾屬性。這些方法稱之為getters和setters

  ·這個(gè)類包含所有必須的事件處理方法。

進(jìn)入討論組討論。

  大部分JavaGUI工具包(AWT,Swing和SWT)的組件都使用JavaBeans規(guī)范。這樣保證GUI的編輯器比如Eclipse Visual Editor或者別的Java IDE來維持組件的層次結(jié)構(gòu),并通過getters和setters來訪問它們的屬性。 

  JavaBeans事件和監(jiān)聽器



發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 福鼎市| 绵竹市| 桓台县| 延庆县| SHOW| 白朗县| 孙吴县| 封开县| 家居| 会理县| 雅江县| 左权县| 深水埗区| 汾阳市| 灵武市| 连南| 柳河县| 屏南县| 昭平县| 焉耆| 伊川县| 库伦旗| 喀喇沁旗| 苍南县| 河北省| 翼城县| 衡水市| 清水河县| 城固县| 五常市| 象山县| 遂宁市| 汉寿县| 临澧县| 陇川县| 嘉峪关市| 清流县| 江陵县| 全椒县| 沙田区| 九寨沟县|