Swing Vordefinierten KeyStroke löschen

Gibt es eine Möglichkeit eine von Swing vordefinierten KeyListener zu löschen. Ich habe eine JTextArea und will 'Pfeiltaste unten' deaktivieren, da ich diese bereits für eine andere Aktion definiert habe. Mit

Java:
InputMap im = textArea.getInputMap(textArea.WHEN_FOCUSED);
KeyStroke enter = KeyStroke.getKeyStroke(KeyEvent.VK_DOWN, 0);
im.put(enter, "none");

geht es nicht.
 
Du musst genau den Key für das Keybinding wissen und diesen dann überschreiben. Lass dir doch einfach mal die Map ausgeben dann siehst doch was alles belegt ist.
 
wie die 'Pfeiltaste unten' überhaupt wirkt, wäre vorher zu testen,
KeyStroke ist eine Möglichkeit, KeyListener eine andere,
schlimmstenfalls wird das Event in der TextArea intern hardkodiert ausgewertet, bevor es an Listener weitergereicht wird
 
Ich habe eine Möglichkeit gefunden, wie ich VK_DOWN ausschalten kann:

Java:
JTestArea area = new JTextArea();
area.setInputMap(new JTextField().getInputMap());

und falls ein JScrollPane involviert ist:

Java:
scrollPane.setEnabled(false);
 
Zuletzt bearbeitet:

Zurück
Oben