Java数据绑定最佳实践

And*_*lio 9 java data-binding swing binding

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

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

例如,我可以在模型层有一个模型对象列表,我需要在JTable中显示它们.然后,当选择JTable的单行时,我需要在一些JLabel上显示与所选行对应的模型对象的一些信息.

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

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

Ada*_*ski 6

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

  1. 代表你的模型对象为List<Model>List实施支持RandomAccess(例如ArrayList).
  2. 子类AbstractTableModel和覆盖getValueAt(int row, int col)索引到您的List<Model>并检索适当的Model实例.然后返回要绑定到列的特定属性:col.

总的来说,在涉及数据绑定而不是使用框架时,我会自己动手.对于编辑风格的面板通常我实现三个方法:initialise(),commit()clear(),因此initialise需要在域对象的实例进行编辑,commit适用任何更改,并返回域对象的修改实例,并clear清除所有UI组件值或设置他们回到默认值.