Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有键类型化事件的Java get action命令_Java_Swing_Event Handling_Jtextfield_Keyevent - Fatal编程技术网

带有键类型化事件的Java get action命令

带有键类型化事件的Java get action命令,java,swing,event-handling,jtextfield,keyevent,Java,Swing,Event Handling,Jtextfield,Keyevent,我有一个JTextField,我使用方法setActionCommand(字符串s)为其设置了一个action命令。 似乎只有在使用actionPerformed事件时才能获得此操作命令 但是,我需要使用keyTyped事件从JTexteField中获取一些签名,因为我使用了几个jtextfield,并且我需要区分在哪个jtextfield中键入了Enter键。以下是我的keyTyped事件片段: public void keyTyped(KeyEvent k) { String id

我有一个JTextField,我使用方法setActionCommand(字符串s)为其设置了一个action命令。 似乎只有在使用actionPerformed事件时才能获得此操作命令

但是,我需要使用keyTyped事件从JTexteField中获取一些签名,因为我使用了几个jtextfield,并且我需要区分在哪个jtextfield中键入了Enter键。以下是我的keyTyped事件片段:

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
    }
}

我该怎么做呢?

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

但是,我需要从我的JTexteField获得一些签名,并使用 keyTyped事件,因为我使用了几个JTextFields,并且我需要 区分输入回车键的位置。这是我的 keyTyped事件的代码段:

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
    }
}
  • 使用添加到而不是

  • 对于要使用的
    JTextComponents

  • 那么最简单的方法就是

但是,我需要从我的JTexteField获得一些签名,并使用 keyTyped事件,因为我使用了几个JTextFields,并且我需要 区分输入回车键的位置。这是我的 keyTyped事件的代码段:

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
    }
}
  • 使用添加到而不是

  • 对于要使用的
    JTextComponents

  • 那么最简单的方法就是


我不知道为什么我曾经使用过setName(),但它没有做任何预期的事情。但现在它起作用了。我以前可能做错了什么。谢谢你的回答!:)我不知道为什么我曾经使用过setName(),但它没有做任何预期的事情。但现在它起作用了。我以前可能做错了什么。谢谢你的回答!:)是,setName()工作正常(请参阅对nikis的评论)。谢谢!;)是,setName()工作正常(请参阅对nikis的评论)。谢谢!;)