2011-08-30 123 views
5

Java Beans Introspection API在PropertyDescriptor類中包含方法isExpert。基於Bean的GUI編輯器,如WindowsMaker,使用它來隱藏或顯示「異國情調」屬性。如何將Java bean屬性設置爲專家屬性?

是什麼導致Java bean的某個屬性被視爲「專家」?例如,Swing庫如何將某些屬性設置爲「專家屬性」?我如何以編程方式爲我編寫的Java bean執行相同操作?

回答

1

您可以爲您的bean創建BeanInfo類。這使您可以自定義屬性描述符。 JavaBean tutorial中有一節介紹了這一點。

+0

謝謝,這就是我一直在尋找。 –

2

這顯然是在JDK中使用非標準的編譯器擴展完成的。

如果你看看Swing的源代碼,一些Javadoc註釋包括@beaninfo標籤,包含這樣的信息:

/** 
* ... Some comment ... 
* @beaninfo 
*  bound: true 
*  expert: true 
*/ 
public void setSomething(SomeType value) { 
    // ... 
} 

這裏有一個例子,在JTable class source code。我也發現this article,談論@beaninfo標籤。

+0

看起來像孫實施了一個Doclet來生成他們的BeanInfo類... – jackrabbit