【问题标题】:JTextField doesn't seem to fire PropertyChangeEventJTextField 似乎没有触发 PropertyChangeEvent
【发布时间】:2011-01-21 11:08:28
【问题描述】:

我正在尝试创建一个摆动表单,其中文本字段使用 bensbindings 框架连接到 bean。我已经在 Netbeans matisse 编辑器中进行了设置。但是,更改 JTextField 的内容似乎不会更新 bean。

仅尝试使用 PropertyChangeListener 的 JTextField 的简单案例,在输入文本时永远不会发生任何属性更改事件。这些事件何时触发?还是只能从 bean 绑定到文本字段而不是其他方式?

获取 JTextField 的内容以更新 Bean 的首选方法是什么?按下按钮时是否手动执行?

我是 Swing 新手,我想学习如何使用 beansbindings 和 Better Swing 应用程序框架来构建应用程序。

【问题讨论】:

    标签: java swing


    【解决方案1】:

    JTextComponent#setText指定:

    请注意,文本不是绑定属性,因此在更改时不会触发 PropertyChangeEvent。要侦听文本的更改,请使用 DocumentListener。

    【讨论】:

    • 看来你是对的。我不知道 beansbindings 框架应该如何与具有此限制的 JTextField 一起使用。我想这只是一种方式(bean -> 文本字段)。
    【解决方案2】:

    尝试将 DocumentListener 添加到 JTextField 的文档中。在类型/删除、剪切/粘贴时调用侦听器。

    【讨论】:

      猜你喜欢
      • 2012-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-26
      • 2016-11-09
      • 2021-06-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多