我有一个JTextField,可以使用setActionCommand(String s)方法向其设置操作命令。
看来我只有在使用actionPerformed事件时才能获得此action命令。

但是,我需要通过keyTyped事件从JTexteField中获取一些签名,因为我使用了多个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
    }
}


我怎样才能做到这一点?

最佳答案

但是我需要从我的JTexteField获取一些签名,
  keyTyped事件,因为我使用了几个JTextField,所以我需要
  区分输入了Enter键的位置。这是我的
  keyTyped事件的代码段:



使用添加到ActionListener而不是JTextFieldKeyListener
JTextComponents使用DocumentListener/DocumentFilter
那么最简单的方法可能是


setName/getName
putClientProperty/getClientProperty

07-27 13:50