【问题标题】:Java get action command with a keyTyped event带有 keyTyped 事件的 Java 获取操作命令
【发布时间】:2014-03-31 12:55:55
【问题描述】:

我有一个 JTextField,我使用 setActionCommand(String s) 方法设置了一个动作命令。 看来我只有在使用 actionPerformed 事件时才能获取此操作命令。

但是我需要使用 keyTyped 事件从我的 JTexteField 中获取一些签名,因为我使用了多个 JTextField,并且我需要区分在哪一个中输入了 Enter 键。这是我的 keyTyped 事件的 sn-p:

public void keyTyped(KeyEvent k) {
    String id = k.getComponent().getClass().getSimpleName();

    if (KeyEvent.VK_ENTER == k.getKeyChar() && "JTextField".equals( id )) {
        JTextField tempTxt = (JTextField) k.getComponent();
        // Here I would like to get my JTextField signature, such as k.getActionCommand() with actionPerformed() method
    }
}

我该怎么做?

【问题讨论】:

    标签: java swing event-handling jtextfield keyevent


    【解决方案1】:

    您可以在每个JTextField 上使用setName(String name),然后您就可以通过调用k.getComponent().getName() 来区分它们

    【讨论】:

    • 我不知道为什么我曾经使用过 setName() 并且它没有按预期做任何事情。但现在它起作用了。我之前可能做错了什么。感谢你的回答! :)
    【解决方案2】:

    但是我需要从我的 JTexteField 中获取一些签名 keyTyped 事件,因为我使用了几个 JTextFields,我需要 区分在哪一个中输入了 Enter 键。这是我的 sn-p 用于 keyTyped 事件:

    【讨论】:

    • 是的 setName() 工作正常(请参阅对 nikis 的评论)。谢谢你! ;)
    猜你喜欢
    • 1970-01-01
    • 2011-12-13
    • 2017-03-15
    • 2023-03-06
    • 1970-01-01
    • 2019-02-11
    • 1970-01-01
    • 1970-01-01
    • 2016-02-13
    相关资源
    最近更新 更多