构建一个具有与模型数据绑定并在模型更新时更新的组件的视图的小程序的最简单方法是什么?
理想情况下代码尽可能少,最好没有/声明性:)
如果需要解释组件类型,请考虑使用 String getText() 访问器将文本绑定到 bean 的 JLabel - 但如果这只是简单的愚蠢,请给我一个更好的例子!
谢谢!
构建一个具有与模型数据绑定并在模型更新时更新的组件的视图的小程序的最简单方法是什么?
理想情况下代码尽可能少,最好没有/声明性:)
如果需要解释组件类型,请考虑使用 String getText() 访问器将文本绑定到 bean 的 JLabel - 但如果这只是简单的愚蠢,请给我一个更好的例子!
谢谢!
首先想到的是PropertyChangeListener
在 bean 上注册 a ,它会在其propertyChange
方法中更新标签的文本。这是链接模型和视图的常用方式,向模型添加一个监听器,它会在任何相关更改上更新视图。
除非您的模型非常小,否则数据绑定不是那么容易:
http://www.jgoodies.com/示例:http ://www.java2s.com/Code/Java/Swing-Components/Data-Binding.htmjgoodies
BeansBinding:http ://www.artima.com/forums/flat.jsp?forum=276&thread=213997
我建议避免PropertyChangeEvent
使用 s 和任何愚蠢的东西。
制作细粒度模型:例如,表示一段文本的模型(文档难以使用且重量级,但您可以使用适配器)。您还需要能够对约束(例如整数边界)和派生模型进行建模。那么你的“真正的”“业务”可以是复合的,没有设置器或事件处理。避免在模型中重复数据。
有了简单的模型,连接到组件很容易。例如,要创建一个连接到文本模型的标签,有一个工厂方法来获取文本模型并返回一个新的连接JLabel
。