Hallo Leute,
Mein Problem , welche ich seit einiger Zeit versuche zu lösen ist, dass ich einen Frame per Tastendruck schließen möchte und zwar handelt es sich um den "Hauptframe". Ich hab bereits auf der Java Seite mich kundig gemacht, aber ich komme einfach nciht weiter. Ich hoffe ihr könnt mir helfen.
Eclipse sagt mir in der Methode keyPressed: "frame cannot be resolved"
Hier der Code:
Du definierst in pack() (warum auch immer die Methode diesen vollkommen unpassenden Namen hat und nicht im EDT invoked wird) das JFrame. Kein Wunder, dass es die nested class nicht sieht. Entweder du machst frame zu einer Klassenvariable oder du übergibst es dem Konstruktor des BeendenListeners.
Also mein Eclipse hat sich sehr wohl beschwert wegen der Sichtbarkeit von frame.
Mein Eclipse nutzt aber sowieso jede Gelegenheit mich anzumaulen :bahnhof:
@ Threadersteller:
Wie angesprochen frame zu einer Klassenvariable machen, dann lässt sich das Programm fehlerfrei starten.
Ich hab dann noch den KeyListener an den frame statt der Menü Bar geheftet, dann schließt sich der frame bei mir STRG + Q.
edit: @ Marcinek: Ach jetzt versteh ich wie du das meintest mit Eclipse sagt nix :lol:
Jetzt wo es Rabbit erwähnt, auf Auswahlen in MenuItems reagiert man in der Regel mit ActionListeners bzw. AbstractActions und nicht KeyListeners. Ich kenne den Code um Accelerators zu registrieren nicht auswendig, aber wenn deins so stimmt brauchst du dafür keinen KeyListener, da der ActionListener des Items abgefeuert werden sollte.
btw: mir geht es nicht anders. Ganz schlimm wird es erst, wenn du eclipse auf deinen USB-Stick kopierst und dann auf einem System öffnest, auf dem der Java-Version ein Update zu deiner fehlt oder eins zu viel ist. Dann siehst dur nur noch rot und Ausrufezeichen
btw: mir geht es nicht anders. Ganz schlimm wird es erst, wenn du eclipse auf deinen USB-Stick kopierst und dann auf einem System öffnest, auf dem der Java-Version ein Update zu deiner fehlt oder eins zu viel ist. Dann siehst dur nur noch rot und Ausrufezeichen
Dann nimm doch das JDK auch mit. Die Fehler kommen ja nicht aus jux und dollerei, sondern weil sich JDK Installpfade ändern oder gar keine definiert sind. -.-
Das ganze wird zwar offtopic, aber das JDK brauche ich nicht, das hat eclipse schon integriert. ich brauche nur die JRE. Wie nehme ich die mit? Habe sie schon auf den Stick kopiert, aber wie binde ich die richtig ein?
Du musst im Eclipse-Verzeichniss die Ordner jre/bin anlegen und mindestens javaw.exe reinkopieren. Bei mir hat Eclipse mal kein Java gefunden, die Installation terminiert immer automatisch. ^^