• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

        JavaBean用戶化

        JavaBean用戶化

        更新時間:2022-05-07 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

        JavaBean開發(fā)者可以給一個Bean添加用戶化器(Customizer)、屬性編輯器(PropertyEditor)和BeanInfo接口來描述一個Bean的內(nèi)容,Bean的使用者可在構(gòu)造環(huán)境中通過與Bean附帶在一起的這些信息來用戶化Bean的外觀和應(yīng)做的動作。一個Bean不必都有BeanCustomizer、PrpertyEditor和BeanInfo,根據(jù)實際情況,這些是可選的,當(dāng)有些Bean較復(fù)雜時,就要提供這些信息,以Wizard的方式使Bean的使用者能夠用戶化一個Bean。有些簡單的Bean可能這些信息都沒有,則構(gòu)造工具可使用自帶的透視裝置,透視出Bean的內(nèi)容,并把信息顯示到標(biāo)準(zhǔn)的屬性表或事件表中供使用者用戶化Bean,前幾節(jié)提到的Bean的屬性、方法和事件名要以一定的格式命名,主要的作用就是供開發(fā)工具對Bean進(jìn)行透視。當(dāng)然也是給程序員在手寫程序中使用Bean提供方便,使他能觀其名、知其意。
        3.3.1用戶化器接口(Customizer Interface)

        當(dāng)一個Bean有了自己的用戶化器時,在構(gòu)造工具內(nèi)就可展現(xiàn)出自己的屬性表。在定義用戶化器時必須要實現(xiàn)java.beans.Customizer接口。例如,下面是一個"按鈕"Bean的用戶化一器:


        public class OurButtonCustomizer extends Panel implements Customizer {
        ... ...
        /*當(dāng)實現(xiàn)象OurButtonCustomizer這樣的常規(guī)屬性表時,一定要在其中實現(xiàn)addProperChangeListener
        和removePropertyChangeListener,這樣,構(gòu)造工具可用這些功能代碼為屬性事件添加監(jiān)聽者。*/
        ... ...
        private PropertyChangeSupport changes=new PropertyChangeSupport(this);
        public void addPropertyChangeListener(PropertyChangeListener l) {
        changes.addPropertyChangeListener(l);
        public void removePropertyChangeListener(PropertyChangeListener l) {
        changes.removePropertyChangeListener(l);
        }
        ... ...

        3.3.2 屬性編輯器接口(PropertyEditor Interface)

        一個JavaBean可提供PropertyEditor類,為指定的屬性創(chuàng)建一個編輯器。這個類必須繼承自java.beans.PropertyEditorSupport類。構(gòu)造工具與手寫代碼的程序員不直接使用這個類,而是在下一小節(jié)的BeanInfo中實例化并調(diào)用這個類。例:


        public class MoleculeNameEditor extends java.beans.PropertyEditorSupport {
        public String[] getTags() {
        String resule[]={
        "HyaluronicAcid","Benzene","buckmisterfullerine",
        "cyclohexane","ethane","water"};
        return resule;}
        }

        上例中是為Tags屬性創(chuàng)建了屬性編輯器,在構(gòu)造工具內(nèi),可從下拉表格中選擇MoleculeName的屬性應(yīng)是"HyaluronicAid"或是"water"。
        3.3.3BeanInfo接口

        每個Bean類也可能有與之相關(guān)的BeanInfo類,在其中描述了這個Bean在構(gòu)造工具內(nèi)出現(xiàn)時的外觀。BeanInfo中可定義屬性、方法、事件,顯示它們的名稱,提供簡單的幫助說明。 例如:


        public class MoleculeBeanInfo extends SimpleBeanInfo {
        public PropertyDescriptor[] getPropertyDescriptors() {
        try {
        PropertyDescriptor pd=new PropertyDescriptor("moleculeName",Molecule.class);
        /*通過pd引用了上一節(jié)的MoleculeNameEditor類,取得并返回moleculeName屬性*/
        pd.setPropertyEditorClass(MoleculeNameEditor.class);
        PropertyDescriptor result[]={pd};
        return result;
        } catch(Exception ex) {
        System.err.println("MoleculeBeanInfo: unexpected exeption: "+ex);
        return null;
        }
        }
        }

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統(tǒng)下載排行

        主站蜘蛛池模板: 亚洲国产超清无码专区| 亚洲欧洲日韩在线电影| 黄色毛片免费在线观看| 国产v片免费播放| 处破女第一次亚洲18分钟| 四虎在线播放免费永久视频| 国产成人 亚洲欧洲| 亚洲精品无码激情AV| 国产精品免费大片一区二区| 久久精品国产亚洲精品| 国产精品成人69XXX免费视频| 中文字幕不卡亚洲 | 亚洲黄片手机免费观看| 一二三区免费视频| 亚洲精品午夜无码专区| 国产成人精品一区二区三区免费| 亚洲资源在线观看| 亚色九九九全国免费视频| 亚洲精品蜜夜内射| 亚洲精品无码av天堂| 久久久久久成人毛片免费看| 亚洲男人电影天堂| 在线A级毛片无码免费真人| 国产亚洲综合一区二区三区| 伊人久久大香线蕉亚洲五月天| 女人体1963午夜免费视频| 亚洲AV成人无码天堂| 国产成人免费高清在线观看 | 一级毛片a免费播放王色电影| 亚洲人成人无码网www电影首页| 91精品国产免费| 亚洲第一成年免费网站| 亚洲人成在线播放网站| 久久久久久久久免费看无码| 免费无码婬片aaa直播表情| 亚洲黄色免费网站| 亚洲JIZZJIZZ中国少妇中文| 1000部夫妻午夜免费| 一级女性全黄久久生活片免费 | 免费在线黄色网址| 日本在线看片免费人成视频1000|