Команда Java get action с событием keyTyped

1

У меня есть JTextField, к которому я установил команду действия с методом setActionCommand (String s). Кажется, я могу получить эту команду только при использовании события actionPerformed.

Однако мне нужно получить некоторую подпись из моего JTexteField с событием keyTyped, потому что я использую несколько JTextFields, и мне нужно различать, в какой именно был введен ключ 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
    }
}

Как я могу это сделать?

Теги:
swing
event-handling
keyevent
jtextfield

2 ответа

2
Лучший ответ

Однако мне нужно получить некоторую подпись из моего JTexteField с событием keyTyped, потому что я использую несколько JTextFields, и мне нужно различать, в какой именно был введен ключ Enter. Вот мой фрагмент для события keyTyped:

  • 0
    Да setName () работает нормально (см. Комментарий к никису). благодарю вас! ;)
2

Вы можете просто использовать setName(String name) на каждом JTextField который у вас есть, и тогда вы сможете отличить их, вызвав k.getComponent().getName()

  • 0
    Я не знаю, почему я когда-то использовал setName (), и он не сделал ничего, как ожидалось. Но сейчас это работает. Я, вероятно, сделал что-то не так ранее. Спасибо за ответ! :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню