六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

JavaBean用戶化

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

當一個Bean有了自己的用戶化器時,在構造工具內就可展現出自己的屬性表。在定義用戶化器時必須要實現java.beans.Customizer接口。例如,下面是一個"按鈕"Bean的用戶化一器:


public class OurButtonCustomizer extends Panel implements Customizer {
... ...
/*當實現象OurButtonCustomizer這樣的常規屬性表時,一定要在其中實現addProperChangeListener
和removePropertyChangeListener,這樣,構造工具可用這些功能代碼為屬性事件添加監聽者。*/
... ...
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類,為指定的屬性創建一個編輯器。這個類必須繼承自java.beans.PropertyEditorSupport類。構造工具與手寫代碼的程序員不直接使用這個類,而是在下一小節的BeanInfo中實例化并調用這個類。例:


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

上例中是為Tags屬性創建了屬性編輯器,在構造工具內,可從下拉表格中選擇MoleculeName的屬性應是"HyaluronicAid"或是"water"。
3.3.3BeanInfo接口

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


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


主站蜘蛛池模板: 爽爽影院免费线看 | 最近韩国中文字幕更新 | 中文字幕精品一区影音先锋 | 中文字幕日韩专区精品系列 | 亚洲福利视频网站 | 色偷偷亚洲女人天堂观看欧 | 伊人影院在线播放 | 日本免费爱爱视频 | 一级成人a做片免费 | 亚洲日韩中文字幕一区 | 欧美怡红院视频一区二区三区 | 伊人影视传媒有限公司 | 日韩欧美一区二区三区久久 | 天天影视色| 日韩中文字幕视频在线观看 | 色小妹综合 | 水蜜桃一区一区三全集 | 息与子外出中文字幕 | 五月激情丁香网 | 速度与激情9下载 | 亚洲综合视频 | 亚洲欧美一区二区三区二厂 | 日韩尤物 | 日韩精品魔镜号系列在线观看 | 色护士综合 | 星辰影院在线观看 | 日韩不卡一区二区 | 午夜看片 | 日本三级在线 | 日韩特黄特色大片免费视频 | 亚洲视频综合 | 欧美一级网址 | 日本成年人免费看 | 欧美一级特黄aaaaaaa在线观看 | 午夜视| 天天看片天天爽_免费播放 天天看片天天爽 | 亚洲天堂男人 | 天天射天天爱天天干 | 人人狠狠综合久久亚洲88 | 亚洲精品欧美综合 | 亚洲国产一区在线精选 |