我目前正在使用 Swing 开发 Java 桌面应用程序。我正在使用 jdesktop.org 的 beansbinding 框架来同步 GUI 组件和数据对象的状态。但是我遇到了框架问题,迫使我在 GUI 组件和数据对象之间来回手动传输状态信息。
是否有 beanbinding 框架的替代品(我认为 NetBeans 也使用它?)?有什么可以推荐的策略(比如根本不使用绑定?该怎么做?)?
如果您想知道我在使用 beanbinding 时遇到了什么问题:
- 它在 JTables 中替换了我的 TableModel(所以我不能使用自己的行或删除行)
- 某些属性不可访问或不可用,例如 selectedItem 或 selectedObject(至少在 JComboBox、JList 等中一致)
- 某些属性要么是只读的要么是只写的(比如 selectedItem 或 selectedObject)
- 我可以为 null 值绑定特殊值,但我不能例如使用自定义映射函数或其他东西将列表中的数字映射到 JComboBox 中的字符串(我知道我可以使用适当的 toString 方法创建一个特殊类,但是这迫使我为我的数据集创建特殊的包装对象)
- ...