Java 数据绑定(bind)最佳实践

标签 java swing data-binding binding

即使我不是 Java 的新手,我也只在学校/大学环境中使用过它,所以我不知道企业中使用的所有最佳实践。

特别是我现在正在开发一个 Java 桌面应用程序(在 UI 层使用 Swing),我对与 swing 组件进行数据绑定(bind)的最佳实践特别感兴趣。

例如,我可以在模型层有一个模型对象列表,我需要在 JTable 中显示它们。 Then, when a single row of the JTable is selected, I need to display some information regarding the model object corresponding to the selected row on some JLabels.

我应该使用哪些库?这样做的最佳做法是什么?

我正在寻找一些链接/文章/教程(/书籍?)来深入探讨这个主题并了解各种解决方案的优缺点。

最佳答案

对于您给出的具体示例,我建议采用以下方法:

  1. 将您的模型对象表示为 List<Model> List在哪里实现支持 RandomAccess (例如 ArrayList )。
  2. 子类 AbstractTableModel并覆盖 getValueAt(int row, int col)索引到您的 List<Model>并检索适当的 Model实例。然后返回您希望绑定(bind)到列的特定属性:col .

一般来说,当涉及到数据绑定(bind)时,我会自己动手而不是使用框架。对于编辑器风格的面板,我通常实现三种方法:initialise() , commit()clear() , 由此 initialise获取正在编辑的域对象的实例,commit应用任何更改并返回域对象的修改实例,以及 clear清除所有 UI 组件值或将它们设置回默认值。

关于Java 数据绑定(bind)最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3133306/

相关文章:

java - 如何将静态内部类重构为 Eclipse 中的顶级类?

java - 无法从 jboss 调用 api.backblaze.com

java - 如何在 Java 中创建墙壁障碍或无法逾越的墙壁?

c# - 如何从后台线程正确更新数据绑定(bind) datagridview

wpf - 如何在 .NET Core 3 类库中运行 Dispatcher.Invoke()?

java - 如何从同一类的另一个对象调用变量

java - 如何在 Intellij Idea 中优化 Web 应用程序中的 css 和/或其他资源修改?

java - 使用 JFrame 使用 Java 编写简单时钟

java - 我怎样才能让我的标签和文本字段出现在java的边框布局中?

wpf - 为什么在 Binding 中有效的格式字符串在 MultiBinding 中无效?