2010-07-28 7 views
2

Existe-t-il une liste publiée de noms de propriétés pour les composants Swing? En examinant le code source de javax.swing.table.TableColumn, je peux trouver des appels à firePropertyChange avec des noms de propriété tels que "modelIndex", "identifier", "headerValue", etc. en tant que chaînes codées en dur, pas en tant que chaîne constantes. Pour autant que je sache, la seule façon de savoir quelles propriétés cette classe peut "déclencher" est de regarder le code source. Écrire un auditeur d'événement sur cette base est très troublant, pour des raisons évidentes.Propriétés Java Swing (addPropertyChangeListener)

S'il n'y a pas de liste publiée, existe-t-il un meilleur moyen d'obtenir les noms de propriété?

Merci.

Répondre

3

La seule façon de savoir avec certitude est de interroger PropertyDescriptors sur la classe correspondante BeanInfo. PropertyDescriptor a isBound méthode.

Il devrait être assez trivial d'écrire le code en utilisant Bean Introspection API. Ce code peut simplement vider toutes les propriétés bornées pour une classe

+0

C'est exactement ce dont j'avais besoin. Merci. – Ralph