如何将Java bean属性设置为专家属性?

时间:2011-08-30 16:36:54

标签: java swing javabeans introspection

Java Beans Introspection API在PropertyDescriptor类中包含方法isExpert。基于Bean的GUI编辑器,如WindowsMaker,使用它来隐藏或显示“异国情调”属性。

是什么导致Java bean的某个属性被视为“专家”?例如,Swing库如何将某些属性设置为“专家属性”?我如何以编程方式对我编写的Java bean执行相同的操作?

2 个答案:

答案 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标记。

答案 1 :(得分:1)

您可以为bean创建一个BeanInfo类。这允许您自定义属性描述符。 JavaBean tutorial中有一节介绍了这一点。