2011-08-30 26 views
5

La API de introspección de Java Beans incluye en la clase PropertyDescriptor el método isExpert. Los editores de GUI basados ​​en beans, como WindowsMaker, usan esto para ocultar o mostrar propiedades "exóticas".¿Cómo establecer una propiedad de Java Bean como una propiedad experta?

¿Qué causa que cierta propiedad de un Java Bean sea considerada "experta"? ¿Cómo funciona la biblioteca Swing, por ejemplo, establece ciertas propiedades como "propiedades expertas"? ¿Cómo puedo hacer lo mismo programáticamente para los beans Java que escribo?

Respuesta

1

Puede crear una clase BeanInfo para su bean. Esto le permite personalizar el descriptor de propiedad. Hay una sección que cubre esto en el JavaBean tutorial.

+0

Gracias, eso es lo que estaba buscando. –

2

Esto aparentemente se hace en el JDK usando una extensión de compilador no estándar.

Si usted tiene un vistazo al código fuente de oscilación, algunos comentarios Javadoc incluyen una etiqueta @beaninfo, que contiene dicha información:

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

Aquí se muestra un ejemplo, en el JTable class source code.

También encontré this article, hablando de la etiqueta @beaninfo.

+0

Me parece que Sun implementó un Doclet para generar sus clases de BeanInfo ... – jackrabbit

Cuestiones relacionadas