2009-07-20 5 views
2

J'ai un programme Java qui fonctionnera avec une variété de Java Beans. Je suis intéressé par l'affichage d'une "feuille de propriétés" qui montrera les champs et les méthodes pour le bean de BeanInfo et/ou de réflexion. Il pourrait également mettre à jour les informations du bean.Java PropertySheets

Existe-t-il un moyen intégré de créer ces feuilles de propriétés? Je pensais quelque chose qui ressemblerait à ceci: http://www.time-tripper.com/uipatterns/Property_Sheet. Est-ce une bonne façon de concevoir une simple application de haricots ou est-ce que quelqu'un a une meilleure alternative avec des annotations?

Merci!

+0

Très similaire à http://stackoverflow.com/questions/842040/propertygrid-in-java-swing. –

Répondre

3

C'est exactement ce que la plupart des concepteurs de GUI (par exemple, NetBeans' Matisse) auront pour afficher les propriétés de Swing Beans. Comme NetBeans est open source, vous pouvez probablement obtenir ce que vous cherchez là

+0

Idée intéressante. J'ai trouvé la classe http://bits.netbeans.org/dev/javadoc/org-openide-explorer/org/openide/explorer/propertysheet/PropertySheet.html. Mais, je reçois une exception "Implémentation NetBeans des Préférences non trouvées" lorsqu'elle est implémentée comme ils l'ont suggéré. Je pourrais probablement le faire fonctionner, mais c'est un peu plus lourd que ce dont j'ai besoin. De plus, je ne pense pas que le client aimerait avoir une bibliothèque GPL dans le projet. – User1

+0

Lorsque vous dites "Feuille de propriétés", voulez-vous dire une page Web? Quelque chose qui apparaît dans le JConsole? Un panneau Swing? Est-ce que la terminologie "Property Sheet" d'une autre langue (C# peut-être?) - ce que vous voulez n'est pas immédiatement évident; après tout, iterating à travers un 'BeanInfo' est à peine compliqué ... –

+0

J'ai ajouté une URL à la question. C'est plus une chose de Microsoft, mais comme montré ci-dessus, NetBeans l'a aussi. C'est simplement un JTable avec un tuple Nom/Valeur. Il y a aussi un bouton qui, lorsqu'il est pressé, un widget associé est affiché pour éditer la valeur (par exemple DateChooser pour les valeurs de type Date). Merci pour vos idées jusqu'ici. – User1