Swing 数据绑定框架

Posted

技术标签:

【中文标题】Swing 数据绑定框架【英文标题】:Swing data binding frameworks 【发布时间】:2011-01-24 22:51:38 【问题描述】:

year ago 提出了几乎相同的问题,但在这一领域已经有了一些新的发展。

为 Swing 应用程序选择(数据绑定)框架似乎相当困难。 JSR-295 已被废弃,许多提供绑定的 Swing 框架正在开发中,对于我非常简单的应用程序来说已被废弃或过于繁重。 JGoodies Swing 套件很昂贵,但幸运的是它的库是免费的。

有没有人对新的UFaceKit 有任何实际经验。它看起来很有希望,但还很不成熟。我对 Swing 实现和文档特别感兴趣。任何有关 UFaceKits 开发计划的见解都将不胜感激,因为我可以暂时选择框架。需求并不是什么花哨的东西,只是使用一个不错的 API 进行绑定。

我也找到了Mogwai dataBinding,但它似乎很不完整,需要手动激活同步,这与粗粒度同步easily written by hand相比毫无用处。

不完整的框架至少包括 Spring RCP 和许多 JSR-296 分支。

那么,JGoodies 数据绑定真的是唯一现实的选择吗?或者还有其他可行的解决方案吗?


编辑: 这个问题在谷歌中的排名似乎很高,并且接受的答案反映了最初提出问题的时间。任何寻求构建使用数据绑定的新 Swing 应用程序的人都应该检查所有答案,他们了解该领域的最新进展。

【问题讨论】:

如果你喜欢 groovy 那么看看 griffon 【参考方案1】:

BBB(几乎是 JSR 295 的官方分支)工作得很好。

【讨论】:

谢谢,我去看看。【参考方案2】:

Beanfabrics 框架包含某种数据绑定。事实上,它是 Presentation Model 模式的一个实现:http://code.google.com/p/beanfabrics/

【讨论】:

【参考方案3】:

这个项目还有一个易于使用的表单数据绑定,我在 2 年前创建了这个项目,从那时起,它的发展源于我的想法和一些合​​作者。

https://github.com/MarkyVasconcelos/Towel

【讨论】:

【参考方案4】:

我正在编写一个支持 Swing 数据绑定的库,它使用 Swing 组件的 Views、Binders 和 ControlAccessors。

见http://www.jdal.org/doc/swing/jdal-swing-binding.php

【讨论】:

【参考方案5】:

Melasse 项目可以将 UI 和 bean 粘合在一起而无需创建类:Binder.bind(/* source, target, options */)

例如仅在文本字段不为空时启用操作/按钮:https://github.com/cchantep/melasse/blob/master/README.md#bind-buttonaction-to-provided-value。

【讨论】:

【参考方案6】:

我们现在要使用Eclipse WindowBuilder,我认为应该会顺利

见Swing Data Binding Examplehttp://code.google.com/javadevtools/

使用beanbinding-1.2.1.jar,即jdesktop.org项目。如果和JSR-295有关,我不知道(请编辑)

【讨论】:

以上是关于Swing 数据绑定框架的主要内容,如果未能解决你的问题,请参考以下文章

在新创建的对象上工作的Groovy Swing数据绑定示例(联机示例不适用)

Java 数据绑定最佳实践

在摇摆中绑定组合框

HarmonyOS 关于元数据绑定框架探索

vue框架——双向数据绑定

vue框架——双向数据绑定