日本国产亚洲-日本国产一区-日本国产一区二区三区-日本韩国欧美一区-日本韩国欧美在线-日本韩国欧美在线观看

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

JavaBean用戶(hù)化

JavaBean用戶(hù)化

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

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

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


public class OurButtonCustomizer extends Panel implements Customizer {
... ...
/*當(dāng)實(shí)現(xiàn)象OurButtonCustomizer這樣的常規(guī)屬性表時(shí),一定要在其中實(shí)現(xiàn)addProperChangeListener
和removePropertyChangeListener,這樣,構(gòu)造工具可用這些功能代碼為屬性事件添加監(jiān)聽(tīng)者。*/
... ...
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)

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


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

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

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


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

溫馨提示:喜歡本站的話(huà),請(qǐng)收藏一下本站!

本類(lèi)教程下載

系統(tǒng)下載排行

主站蜘蛛池模板: 午夜在线看 | 国产一级淫片视频免费看 | 亚洲精品久久久久综合网 | 国产高清国内精品福利99久久 | 亚洲激情视频在线播放 | 欧美精品一区二区三区免费播放 | 久久国产精品-国产精品 | 欧美第六页 | 337p粉嫩大胆色噜噜噜 | 国产鲁鲁视频在线观看免费 | 亚洲欧美日韩国产综合专区 | 欧美激情综合亚洲一二区 | 亚洲欧美一区二区三区在饯 | 欧美精品国产综合久久 | 亚洲国产精品成人午夜在线观看 | 在线观看欧美大片 | 欧美日韩国产码高清综合人成 | 久久国产精品99久久久久久老狼 | 99国产成人精品2021 | 91av在线免费观看 | 清纯唯美亚洲综合欧美色 | 91久久亚洲国产成人精品性色 | 桃色视频免费看 | 欧美在线操 | 超级碰碰青草免费视频92 | 男人边吃奶摸下激烈免费视频 | 97在线视频免费公开观看 | 亚洲精品久久久中文字 | 日韩精美视频 | 日本强不卡在线观看 | 草草影院ccyycom浮力影院 | 亚洲黄色影片 | 亚洲国产精品成人午夜在线观看 | 日韩精品一区二区三区大桥未久 | 成人网男女啪啪免费网站 | 久久悠悠 | 人人狠狠综合久久亚洲88 | 日本边摸边吃奶边做免费观看 | 好爽毛片一区二区三区四区 | 国产特黄一级毛片特黄 | 色婷婷综合久久久 |