我有一些带有字段和getter / setter的类,我想在Swing应用程序中显示该类的字段。
每个字段的名称应在Label
中显示,并且应根据值的类型显示值,即。即String
使用TextField
,List
使用ComboBox
等等。
一个难点是该类可以包含字段,这些字段也需要以这种方式处理。
是否有推荐/标准的方法?
我看了一下java.beans
,但我不确定当这个类本身是Swing组件时是否主要使用它。
答案 0 :(得分:4)
答案 1 :(得分:2)
我认为没有一种自动化的方法来实现这一目标。事实上,我认为你甚至可能错误地接近它。如果List包含除Strings之外的对象,例如,JComboBox如何解决这个问题呢?我建议只使用JTable
并将名称放在第一列中,将值放在第二列中。
答案 2 :(得分:2)
您可以将@Annotations
添加到要检查并在GUI中显示的字段中。在每种情况下,您都必须使用反射来访问并查找要显示的所有字段。我认为你必须在数据绑定中添加一个自定义逻辑,它会检查给定类的字段(可能使用@Display
注释或类似的东西进行过滤)。
这应该很容易实现,你可以依赖POJO Bean定义并访问getter / setter上的所有字段,不要忘记缓存处理的类以避免类的循环依赖。
我希望这会有所帮助。
答案 3 :(得分:0)
有ReflectionUI。它只需使用反射即可显示原始值对象和列表。它适用于getter / setter属性。