即使我不是 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.
我应该使用哪些库?这样做的最佳做法是什么?
我正在寻找一些链接/文章/教程(/书籍?)来深入探讨这个主题并了解各种解决方案的优缺点。
最佳答案
对于您给出的具体示例,我建议采用以下方法:
- 将您的模型对象表示为
List<Model>
List
在哪里实现支持RandomAccess
(例如ArrayList
)。 - 子类
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/