[英]Displaying class contents in a GUI with Swing
我有一些带有字段和getter / setter的类,我想在Swing应用程序中显示该类的字段。
每个字段的名称都应在Label
中显示,并根据值的类型显示值,即String
使用TextField
, List
使用ComboBox
等等。
一个困难是该类可以包含字段,本身也需要以这种方式对待。
有推荐的/标准的方法吗?
我对java.beans
但是我不确定在类是Swing组件本身时是否不主要使用它。
另一个选择是使用L2FProd中的 PropertySheet组件。 根据您的描述,它应该完全满足您的要求。
它没有更新很长时间,但是效果很好。
我认为没有自动方法可以完成此任务。 实际上,我认为您甚至可能会错误地处理它。 例如,如果您的列表包含除字符串以外的对象,该怎么办?JComboBox如何将其分解? 我建议仅使用JTable
并将名称放在第一列中,将值放在第二列中。
您可以将@Annotations
添加到要检查并显示在GUI中的字段中。 在每种情况下,您都必须使用反射来访问和查找要显示的所有字段。 我认为您必须在数据绑定中添加自定义逻辑,以检查给定类的字段(可以使用@Display
批注或类似的东西进行过滤)。
这应该很容易实现,您可以依赖POJO Bean定义并通过getter / setter访问所有字段,不要忘记缓存处理过的类以避免类的循环依赖。
我希望这有帮助。
有ReflectionUI 。 仅使用反射就可以显示原始值对象和列表。 它与getter / setter属性一起很好地工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.