【问题标题】:Displaying class contents in a GUI with Swing使用 Swing 在 GUI 中显示类内容
【发布时间】:2011-06-24 23:14:47
【问题描述】:

我有一些带有字段和 getter/setter 的类,我想在 Swing 应用程序中显示类的字段。

每个字段的名称应显示在Label 中,并且应根据值的类型显示值,即。 e. String 使用 TextFieldList 使用 ComboBox 等等。

一个困难是类可以包含字段,这些字段本身也需要这样处理。

有推荐/标准的方法吗?

我对@9​​87654326@ 进行了一些研究,但我不确定它是否主要在类本身是 Swing 组件时使用。

【问题讨论】:

    标签: java user-interface swing data-binding reflection


    【解决方案1】:

    我认为没有一种自动化的方法可以实现这一点。事实上,我认为你甚至可能错误地接近它。例如,如果 List 包含 Strings 以外的对象,JComboBox 将如何解决这个问题?我建议只使用JTable 并将名称放在第一列,将值放在第二列。

    【讨论】:

      【解决方案2】:

      您可以将@Annotations 添加到您想要在 GUI 中检查和显示的字段中。在每种情况下,您都必须使用反射来访问和查找要显示的所有字段。我认为您必须向数据绑定添加自定义逻辑,以检查给定类的字段(可能使用@Display 注释或类似的东西进行过滤)。

      这应该很容易实现,可以依赖POJO Bean的定义,通过getter/setter访问所有的字段,别忘了缓存处理过的类,避免类的循环依赖。

      我希望这会有所帮助。

      【讨论】:

        【解决方案3】:

        另一个选择是使用来自L2FProd 的 PropertySheet 组件。根据您的描述,它应该完全符合您的要求。

        好久没更新了,但是很好用。

        【讨论】:

          【解决方案4】:

          ReflectionUI。它可以通过仅使用反射来显示原始值对象和列表。它适用于 getter/setter 属性。

          【讨论】:

          • 不要只提供链接,请在此处添加更多详细信息。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-07-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-02-02
          相关资源
          最近更新 更多