我在试图理解在我的应用程序中使用 JGoodies 绑定的适当方法时大脑抽筋。
我有一个 Article 类,它是一个具有只读属性的 bean。Article
是一个“普通”bean,并且不管理属性侦听器,因为属性永远不会改变。我有一个 Swing JPanel,我想用它来显示文章的某些属性。可以在不同时间查看不同的文章对象。
我正在寻找通过一个或多个对象执行以下操作的东西 (X):
- X 包含当前查看的文章。我可以调用
X.setArticle()
并X.getArticle()
更改为不同的文章。没有其他方法可以更改当前查看的文章,我必须通过 X 才能知道我正在更改它。 - 当我设置我的 JPanel 时,我想使用 X 创建只读 JTextFields,这些字段绑定到当前查看文章的各种属性(标题、作者等)
- (从#1 和#2 开始)任何时候调用 X.setArticle(),文本字段的内容都会自动更新。
我尝试使用 BeanAdapter 从包含在 ValueHolder 中的 Article 中提取属性模型,并尝试使用 BasicComponentFactory.createTextField() 创建文本字段,这一切似乎都有效,只是我com.jgoodies.binding.beans.PropertyUnboundException
抱怨我的 Article 类具有未绑定的属性。呸!我知道,我只是不知道如何找到正确的“管道”来处理它。每个Article
都是不可修改的,但当前查看的文章可能指向不同的文章。
有什么建议么?