java - BeansBinding、JGoodies Binding、JFace 或 Glazed Lists?

标签 java binding

我开始investigate beans binding我的头开始旋转。有很多选择,但这是一个听起来很难改变的核心设计决定。我有一组相互关联的 POJO,我想使用 GUI 对其进行编辑。稳定、简单部署的最佳选择是什么?如果没有一个好的解决方案,这些选项一起使用是否很好?

以下是目前的竞争者:

请分享您使用这些库的经验。特别是如果您尝试了一个并切换到另一个。

最佳答案

除了 JFace 之外,我已经使用了以上所有工具。从 JGoodies 开始,发现它有点难用。 BeansBinding 更容易理解,但它对列表操作的支持很差。输入釉面列表。 GL 是我用过的最好的开源库之一。最近,他们添加了一个 PluggableList 实现,允许使用 BeansBinding 将 GlazedLists 列表绑定(bind)到 POJO 的列表属性。结果是两全其美。

我们还经常使用 Calculations API(Glazed Lists 的一部分)来计算列表范围的属性,并将结果(使用 BB)绑定(bind)到 POJO、GUI 小部件等...添加一个显示元素数量的标签在列表(或任何其他计算)中非常简单。

我会说 BB 有很大的改进空间,事实上,它已经 fork 到 BetterBeansBinding - 如果可以的话,我建议您与 BBB 一起向前迈进。

我们有几个应用程序使用 BB 和 GL 的组合(其中一个是非常大、复杂的 GUI 应用程序),并对结果感到满意。

我确实建议您在真正开始使用绑定(bind)之前先花时间试用一下绑定(bind)。转换为声明式编程风格需要一些练习,但一旦完成,结果几乎是奇迹般的。我建议至少 3 个小但完整的项目,这样您就可以全神贯注(如果您可以将 Presentation Model 概念引入您的设计中,那也会在未来获得巨大的返回)。

关于java - BeansBinding、JGoodies Binding、JFace 或 Glazed Lists?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1166187/

相关文章:

java - Android Studio 将两个图像添加到一个按钮

java - 如何使用java8 api(LocalDateTime)将LocalDateTime从jsp传递到 Controller ?

Java - Random.nextInt 编译错误;_;

java - 查找字符串中不在圆括号 "-"内的破折号 "()"

java - 开机后,运行DialogFragment时出错

javascript - javascript(JQuery)中的最佳实践是什么,将相同的事件类型绑定(bind)到每个元素或绑定(bind)到它们的父元素?

ios - 为设备编译但不在模拟器上编译时出现 MonoTouch 错误 : MONO_PATCH_INFO_JIT_ICALL_ADDR mono_marshal_safearray_create

Python Tkinter : Binding Same Key Twice?

c# - 从 asp.net 中的代码后面获取 anchor 元素的 href 属性

C# 绑定(bind)到另一个 ObservableCollection 中的一个 ObservableCollection