我有一个JTree,节点是一个扩展DefaultMutableTreeNode的抽象类(Item)。我希望能够在JTree中选择节点,然后在JTable中包含Item的子类的所有变量,就像netbeans中的属性编辑器和Navigator一样。我在swing环境中这样做,而不是Netbeans模块,所以PropertyEditor看起来不错但不起作用。
答案 0 :(得分:0)
如果我理解正确,您希望能够使用通用方式显示对象属性。这个问题的常见答案是使用反射。您可以发现您的对象并显示任意数量的属性。
但在这种情况下,您可能会显示不应向用户显示的属性,仅供您的程序使用。
我建议使用注释来解决这个问题。您可以定义自己的注释,例如@DisplayableProperty
并使用此注释标记要在属性编辑器上显示的所有字段。现在您只需检查属性是否已标记。
这种方法非常灵活。可能在将来你会为这个注释添加参数,如view
(TextField,CheckBox,Radio等),格式等。