【问题标题】:JTextField dispatchEvent Doesn't Work, But Works For TextFieldJTextField dispatchEvent 不起作用,但适用于 TextField
【发布时间】:2012-04-29 15:50:43
【问题描述】:

在我的程序中,当焦点丢失时,我想在名为 descFieldTextField 上调用 ActionEvent。我成功使用了dispatchEvent。当我将TextField 更改为JTextField 时,它不起作用。我将不胜感激(我是 Java 的业余爱好者)。这是调度程序,它是我的JTextFieldfocusLost 方法:

    public void focusLost(FocusEvent f) {
        ActionEvent action = new ActionEvent(descField, ActionEvent.ACTION_PERFORMED, "focus_lost");
        descField.dispatchEvent(action); // Causes actionPerformed to be invoked
        // Does not work with JTextArea
    } //focusLost

如何使用JTextField 而不是TextField 使其工作?

【问题讨论】:

  • 如需尽快获得更好的帮助,请发帖 SSCCE“我会很感激你的帮助”我会很感激一个问题。你有什么问题?
  • 抱歉,Andrew,我不知道 SSCCE 是什么,这是我的第一个问题。问题是如何使用 JTextField 而不是 TextField 使其工作?
  • “我不知道 SSCCE 是什么……” 这就是为什么我链接到解释它的文档。

标签: java swing textfield jtextfield dispatchevent


【解决方案1】:

我将 ActionEvent 中的代码放在此侦听器类中的一个单独方法中,然后从 actionPerformed 和 focusLost 方法中调用它。现在可以正常使用 JTextField。我想大多数人无论如何都会这样做。 actionPerformed 代码很长。

【讨论】:

    猜你喜欢
    • 2019-01-06
    • 2011-12-18
    • 2019-02-12
    • 2014-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多