【问题标题】:Java swing - how to bind my fields to a moduleJava swing - 如何将我的字段绑定到模块
【发布时间】:2011-08-28 17:07:27
【问题描述】:

我正在用 java swing 编写,我想知道是否有更好(更短)的方法将我的对象绑定到 gui 表单。

我将用一个例子来描述这种需求 - 零按钮:
假设我希望在 GUI 上有一个数字字段和一个在其中输入零的按钮。就是这样。
我有一个 gui-form 和 java 类。以及一个包含所有数据并执行一些逻辑的模块类。

我通常会做的(我认为这很糟糕)是:

  1. 创建 gui 元素。
  2. 在模块上创建一个列表,其中包含特定字段中更改的所有侦听器。
  3. 在 gui 上 - 在开始时向模块添加一个侦听器 [发送一个匿名类(值已更改)]
  4. 在模块上 - 在设置器中 - 迭代侦听器列表并通知所有。
  5. 在 gui 上 - 我的侦听器将 TextField 更改为零。

整个过程只是在它旁边的字段中输入一个零:-0)。
现在对于每个领域...
这对我来说太久了。
(有时我只想将模块设置为零,然后在两行简单的代码中将 gui 文本设置为零)
这是最佳做法吗?
谢谢。

【问题讨论】:

    标签: java swing data-binding bind


    【解决方案1】:

    对我来说,最佳实践是选择一个数据绑定框架并因此使用它。数据绑定正是您想要的 - 模型(原文如此!)和 UI 之间的同步

    Here's a Q/A page on SO,其中包含大量指向 Java Swing 应用程序的数据绑定框架的链接。

    【讨论】:

    • 除了 JGoodies 之外,还有其他真正的替代方案吗?就 java + swing go 的绑定框架而言?
    • @Jens Schauder - 无法回答这个问题,我通常使用 SWT ;) - 这就是为什么我指向另一个问题而不是仅仅推荐一些东西
    • 谢谢。我通常会做更长的编写过程,只是因为它更容易调试。当出现问题时,框架往往会更难。我一定会检查你的建议。
    • @Jens Schauder:有 BBB(Better Beans Binding)。你不喜欢 JGoodies Binding 吗?
    • @jfpoilpret 我确实喜欢 JGoodies,但我总是对替代品感兴趣。我知道一个已死的 JSR(295?)。我去看看 BBB。
    猜你喜欢
    • 1970-01-01
    • 2014-08-18
    • 2015-12-06
    • 2012-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多