Компонент, который принимает события перед этим компонентом EditorComponent, фокусируется на самом JTable.
JTable передает ключевые события компоненту редактора выбранной ячейки посредством связывания ключей с помощью метода processKeyBinding. По этой причине ни одно из ключевых событий-слушателей не оповещается
Моя проблема заключалась в том, что у моего пользовательского редактора не был processKeyBinding, потому что это был JPanel (составленный редактор). Затем события Key были потеряны.
Решение передаёт действие processKeyBinding с использованием специального текстового поля с функцией puclic для выполнения этой функции.
public class KeyBindingTextField extends JTextField {
protected boolean processKeyBindingPublic(KeyStroke ks, KeyEvent e, int condition, boolean pressed) {
return super.processKeyBinding(ks, e, condition, pressed);
}
}
Затем я передать ключ связывания метод TextField от JPanel так:
protected boolean processKeyBinding(KeyStroke ks, KeyEvent e, int condition, boolean pressed) {
return TextField.processKeyBindingPublic(ks, e, condition, pressed);
}
Почему вы пытаетесь захватить ключевые события? – camickr