Java Swing:将UI组件与逻辑行为分开 - 您如何处理这个问题?

the*_*now 3 java user-interface swing behavior

我在NetBeans中做了什么,例如:

  • 创建一个UI组件类,后缀为Swing组件类型,例如JPanel,例如MyUIWidgetJPanel
  • 创建一个逻辑/行为类来处理行为/逻辑,即当使用UI组件时会发生什么,例如按下其中的按钮等,MyUIWidgetLogic

我还可以使用引用将组件/逻辑链接在一起,如果一个组件的行为/结果影响/影响另一个组件,例如显示的某些选项不再相关,或者提供上下文敏感选项.

你觉得这怎么样?好?坏?

你是做什么?

小智 5

我倾向于使用Presentation Model Pattern.

从本质上讲,它似乎就是你所做的:创建一个包含逻辑的类,与UI类分开.UI类不应包含逻辑 - 仅显示界面所需的代码.

然后,您可以使用类似JGoodies Binding的东西将前端值绑定到后端表示模型类(我知道Spring RCP也非常适合这种情况).