Comment définir une propriété Java bean en tant que propriété expert?


L'API Java Beans Introspection inclut dans la classe PropertyDescriptor la méthode isExpert. Les éditeurs d'interface graphique basés sur les beans, comme WindowsMaker, l'utilisent pour masquer ou afficher des propriétés "exotiques".

Qu'est-ce qui fait qu'une certaine propriété d'un bean Java est considérée comme "experte"? Comment la bibliothèque Swing, par exemple, définit-elle certaines propriétés en tant que "propriétés d'expert"? Comment puis-je faire la même chose par programme pour les beans Java que j'écris?

Author: Little Bobby Tables, 2011-08-30

2 answers

Vous pouvez créer une classe BeanInfo pour votre bean. Cela vous permet de personnaliser le descripteur de propriété. Il y a une section couvrant cela dans le JavaBean tutorial.

 1
Author: jackrabbit, 2011-08-30 20:45:28

Cela se fait apparemment dans le JDK en utilisant une extension de compilateur non standard.

Si vous regardez le code source Swing, certains commentaires Javadoc incluent une balise@beaninfo, contenant de telles informations:

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

Voici un exemple, dans le code source de la classe JTable.

J'ai aussi trouvé cet article, de parler de la @beaninfo balise.

 2
Author: Vivien Barousse, 2011-08-30 16:50:38