首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

JavaBeans 進階特性:索引屬性、綁定與約束屬性

     編輯:Java 相關知識

索引屬性

屬性為陣列或 List 時,提供 getXxx(int index)/setXxx(int index, Type value) 方法,Introspector 自動識別。

綁定屬性

屬性變更時觸發 PropertyChangeEvent,通知註冊的 PropertyChangeListener。需在 setter 中發送事件:

public void setValue(int v) {
    int old = value;
    value = v;
    changes.firePropertyChange("value", old, value);
}

約束屬性

允許監聽器否決變更。Setter 拋出 PropertyVetoException:

public void setValue(int v) throws PropertyVetoException {
    changes.fireVetoableChange("value", value, v);
    value = v;
}

自定義屬性編輯器

實作 PropertyEditor 介面,並透過 BeanInfo 關聯,讓屬性表顯示自定義 UI(如顏色選擇器、下拉選單)。

BeanInfo 與專家屬性

提供 BeanInfo 類自定義屬性/事件/方法描述符;在 FeatureDescriptor 設定 expert 標誌,區分基礎與進階特性。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved