Ich habe eine JFrame
mit JDesktopPane
erstellt, in der ich JInternalFrame
rufe. Jetzt möchte ich diesen internen Rahmen schließen, indem ich die Escape-Taste drücke.Wie schließe ich JInternalFrame durch Drücken der Escape-Taste?
Ich versuchte 2-3 Wege, aber keine Ausgabe.
Ich habe das Code unter Verwendung von unten angegeben:
public static void closeWindow(JInternalFrame ji){ ActionListener close=New ActionListener(){ public void actionPerformed(ActionEvent e){ ji.dispose(); } };
Wenn ich durch Zufuhr von seiner Aufgabe obigen Verfahren von meiner intern Rahmenklasse Konstruktor aufgerufen, konnte ich es schließen. Aber wenn ich da schreibe, schreibe ich andere Codezeilen an den Konstruktor. Der obige Methodenaufruf funktioniert nicht. Bitte hilf mir. Ich konnte das Problem im Code nicht finden.
- Auch ich habe versucht,
KeyListener
zu internen Rahmen hinzuzufügen, so dass ich mit Tastenanschlägen arbeiten kann, aber es funktioniert auch nicht. Wieder versuchte ich zu Button
setMnemonic
wie unten zu entkommen:jButton1.setMnemonic(KeyEvent.VK_ESCAPE);
Aber gibt auch keine Ausgabe.
Ihr 2. Ansatz scheint wie der Weg zu gehen. Möglicherweise haben Sie den KeyListener falsch hinzugefügt. – byxor
Versuche nicht, Screenshots deines Codes zu posten! Einfach den Code selbst posten. Um eine bessere Hilfe zu erhalten, veröffentlichen Sie ein [MCVE] oder [Short, Self Contained, Correct Example] (http://www.sscce.org/). –
Dieses Foto Ihres Bildschirms mit Code ist völlig unlesbar. – Jesper