JFrame per Taste schließen

TUBO

Mitglied
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:

Java:
package guiTest1;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class GuiTest1  {

	public void pack(){
		
		JFrame frame = new JFrame();	
		JMenuBar menuleiste = new JMenuBar();
		JMenu menu1 = new JMenu("Menu");
		menuleiste.add(menu1);
		JMenuItem mi1= new JMenuItem("Start",  KeyEvent.VK_T);
		
		mi1.setAccelerator(KeyStroke.getKeyStroke(
		        KeyEvent.VK_1, ActionEvent.ALT_MASK));
	
		menu1.add(mi1);
		
		JMenuItem mi2 = new JMenuItem("Beenden");
		mi2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q, ActionEvent.CTRL_MASK));
		mi2.addKeyListener(new BeendenListener());
		menu1.add(mi2);
		
		frame.setLayout(new BorderLayout());
		frame.setSize(300,300);
		frame.setVisible(true);
		frame.add(menuleiste, BorderLayout.NORTH);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
	
	public static void main(String[] args) {

		GuiTest1 gui = new GuiTest1();
		gui.pack();
		
	}
	class BeendenListener implements KeyListener {
	@Override
	public void keyPressed(KeyEvent event2) {
		// TODO Auto-generated method stub
		if(event2.getKeyCode() == KeyEvent.VK_Q ){
			frame.dispose();
			frame.setVisible(false);
		}
	}
	@Override
	public void keyReleased(KeyEvent arg0) {
		// TODO Auto-generated method stub
		
	}
	@Override
	public void keyTyped(KeyEvent arg0) {
		// TODO Auto-generated method stub
		}
	}
}
 

Volvagia

Top Contributor
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.
 
M

Marcinek

Gast
Eclipse sagt hier nix. Der Java Compiler beschwert sich, weil er frame nicht sehen kann, weil es nut in der methode pack() sichtbar ist.

Google: Java Sichtbareit von Variablen
 

El_Rabbit

Mitglied
Eclipse sagt hier nix. Der Java Compiler beschwert sich, weil er frame nicht sehen kann, weil es nut in der methode pack() sichtbar ist.


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:
 

Volvagia

Top Contributor
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.
 

Blackhole16

Bekanntes Mitglied
Mein Eclipse nutzt aber sowieso jede Gelegenheit mich anzumaulen

made my day :D :D :lol::lol:

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 :p

mfg
BH16
 
M

Marcinek

Gast
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 :p

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. -.-
 

Blackhole16

Bekanntes Mitglied
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?

mfg
BH16
 

Blackhole16

Bekanntes Mitglied
Echt? Aber nen Compiler hats auf jeden Fall ;)

@L-ectron-X: Ich verstehe nicht ganz, was genau mir dein Link bringt... mir geht es darum, wie ich in eclipse eine JRE integrieren kann...

mfg
BH16

PS: Ich glaube aber, dass ich das lieber in einem anderen Unterforum machen sollte :D Was meint ihr =?
 

Volvagia

Top Contributor
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. ^^
 

Blackhole16

Bekanntes Mitglied
hab ich auch gemacht, und anscheinenend benutzt er es auch schon, denn wenn ich im laufenden Betrieb renamen will, geht es nicht...

Komisch halt nur mit all diesen Ausrufezeichen... :bahnhof:

mfg
BH16
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
fragenÜber(fragen); Turtle Grafik mit GUI (JFrame) Java Basics - Anfänger-Themen 3
E JFrame + Buffer-strategy Java Basics - Anfänger-Themen 8
I JFrame / Screen auf zweitem (definiertem) Monitor öffnen Java Basics - Anfänger-Themen 3
luggas89 Mit Jframe live zeichnen Java Basics - Anfänger-Themen 4
C mehrere JPanel in ein JFrame bringen Java Basics - Anfänger-Themen 9
B HSQL mit JFrame steuern Java Basics - Anfänger-Themen 4
D Wie Objekte im JFrame frei bewegen lassen? Java Basics - Anfänger-Themen 3
D Erste Schritte png in JFrame anzeigen? Java Basics - Anfänger-Themen 3
Thomathy Interface Wie schließt man ein anderes JFrame Fenster? Java Basics - Anfänger-Themen 6
D Probleme mit JFrame und der Größe Java Basics - Anfänger-Themen 8
P JFrame, Linien zeichnen, MouseListener Java Basics - Anfänger-Themen 2
S Kontrollieren ob jframe disposed ist Java Basics - Anfänger-Themen 3
Elyt JFrame in den Hintergrund verschieben Java Basics - Anfänger-Themen 3
OSchriever JFrame-Anwendungsfenster verschieben Java Basics - Anfänger-Themen 17
M Bild in JFrame Java Basics - Anfänger-Themen 1
S Klassenaufruf über JFrame Button Java Basics - Anfänger-Themen 3
W 2 JPanel in einem JFrame Java Basics - Anfänger-Themen 4
CptK Interface Klasse Frame (extends JFrame) aus anderer Klasse schließen Java Basics - Anfänger-Themen 7
S JFrame mit Hintergrundbild und Button Java Basics - Anfänger-Themen 4
S JFrame Java Basics - Anfänger-Themen 15
I JFrame proportional verkleinerbar machen Java Basics - Anfänger-Themen 3
B Java JFrame zeichnen Java Basics - Anfänger-Themen 4
ReinerCoder Vererbung von JFrame in einer Klasse entfernen Java Basics - Anfänger-Themen 5
T Auslagern von Methoden bei einem JFrame Java Basics - Anfänger-Themen 6
N Erste Schritte JFrame Caesar-Verschlüsselung Java Basics - Anfänger-Themen 23
B Erste Schritte Objekte von JFrame der Fenstergröße anpassen Java Basics - Anfänger-Themen 3
J JFrame Fenster öffnet sich nicht Java Basics - Anfänger-Themen 7
3 JFrame immer im Hintergrund Java Basics - Anfänger-Themen 1
F Interface JFrame mit if-Abfrage automatisch schließen lassen? Java Basics - Anfänger-Themen 3
R JFrame nicht verschiebbar Java Basics - Anfänger-Themen 2
T Wenn JFrame Textfelder Hintergrund Grün dann... (if) Java Basics - Anfänger-Themen 3
K Java JFrame mit Hintergrundbild erstellen Java Basics - Anfänger-Themen 1
Aruetiise Variablen JFrame und Variablen Java Basics - Anfänger-Themen 3
H Eclipse JFrame Java Basics - Anfänger-Themen 3
C Variablen von einem JFrame in einen anderen übertragen Java Basics - Anfänger-Themen 3
M Bild wird von JFrame nicht geladen Java Basics - Anfänger-Themen 12
I JFrame minimieren wenn anderes Programm minimiert wird Java Basics - Anfänger-Themen 1
K Methoden Methode starten wenn JFrame geöffnet wird Java Basics - Anfänger-Themen 2
D Erste Schritte JFrame Inhalte werden nicht angezeigt Java Basics - Anfänger-Themen 8
A Variablen In anderer Klasse auf Objekte von JFrame zugreifen Java Basics - Anfänger-Themen 1
B Ist MyFrame oder JFrame besser? Java Basics - Anfänger-Themen 3
Y JFrame sichtbarkeit Java Basics - Anfänger-Themen 4
KeVoZ_ Label auf JFrame willkürlich Positionieren Java Basics - Anfänger-Themen 2
Dechasa Interface JFrame mit mehreren Übereinander liegenden JPanel Java Basics - Anfänger-Themen 5
P JFrame nur einmal öffnen Java Basics - Anfänger-Themen 4
D JFrame - 10 Sekunden bis zum schließen warten. Java Basics - Anfänger-Themen 2
V Tastatur initialisieren JFrame Probleme Java Basics - Anfänger-Themen 6
J JPG in JFrame anzeigen lassen Java Basics - Anfänger-Themen 3
J JFrame ausgabe von Werten Java Basics - Anfänger-Themen 9
F GUI als Klasse oder extend JFrame? Java Basics - Anfänger-Themen 6
F JFrame resize verschiebt JPanel Java Basics - Anfänger-Themen 3
S Wieso wird mein JFrame transparent dargestellt? Java Basics - Anfänger-Themen 5
L [JFrame] Exception - woher? Java Basics - Anfänger-Themen 8
thomasbomme Grafikfehler JFrame- Cleartype Java Basics - Anfänger-Themen 1
GreyFox Arbeit mit JFrame Java Basics - Anfänger-Themen 8
T Erste Schritte 2 Codes zusammen fügen / Label in JFrame Java Basics - Anfänger-Themen 1
Z Zwei Images auf einem JFrame - Aber nur eins wird angezeigt! Java Basics - Anfänger-Themen 5
N Input/Output Wenn kein Input, dann Fehler anzeigen lassen im JFrame Java Basics - Anfänger-Themen 6
W 2 JPanels in 2Klasse in einem JFrame zusammenfügen Java Basics - Anfänger-Themen 12
dat_vin JFrame öffnet sich mehrmals Java Basics - Anfänger-Themen 6
M JFrame Bild einfügen Java Basics - Anfänger-Themen 3
M Rahmen für undekorierten JFrame Java Basics - Anfänger-Themen 6
S JPanel wird versetzt auf JFrame gelegt Java Basics - Anfänger-Themen 2
B Erste Schritte JFrame in Klasse auslagern Java Basics - Anfänger-Themen 4
H JFrame komplett schließen Java Basics - Anfänger-Themen 3
S Brauche hilfe bei Pong (JFrame) Java Basics - Anfänger-Themen 2
M hintergrund in jframe festlegen Java Basics - Anfänger-Themen 4
J JFrame Render Fehler - Warum? Java Basics - Anfänger-Themen 2
I komponenten werden in JFrame nicht richtig angezeigt Java Basics - Anfänger-Themen 1
E 2. JFrame erkennt 1. Frame Java Basics - Anfänger-Themen 6
D Best Practice JFrame im JFrame Java Basics - Anfänger-Themen 2
P Bild in JFrame Titelleiste Java Basics - Anfänger-Themen 7
S Erste Schritte Von JFrame in nächstes JFRame wechseln Java Basics - Anfänger-Themen 0
V JFrame aktualisieren Java Basics - Anfänger-Themen 6
S JFrame ist nicht schwarz Java Basics - Anfänger-Themen 5
B JPanel/JFrame in ein Applet umwandeln (Webfähig) Java Basics - Anfänger-Themen 7
S Interface JButton etc. wird in JFrame mit paint() nicht angezeigt Java Basics - Anfänger-Themen 6
S JFrame wird nicht "bemalt" Java Basics - Anfänger-Themen 2
M Unsichtbare Objekte in JFrame Java Basics - Anfänger-Themen 2
S Textdatei einlesen und JFrame füllen Java Basics - Anfänger-Themen 14
Sogomn JLabel in anderer Klasse zum JFrame hinzufügen Java Basics - Anfänger-Themen 2
B Drawline wird auf JFrame nicht angezeigt Java Basics - Anfänger-Themen 3
N Fokus setzen nachdem JFrame in Vordergrund geholt wurde Java Basics - Anfänger-Themen 7
K Methoden Objekt auf JFrame zeichnen Java Basics - Anfänger-Themen 16
S JFrame leeren Java Basics - Anfänger-Themen 6
X JFrame Fenster einzeln schließen Java Basics - Anfänger-Themen 2
J Klick auf Button -> JFrame öffnet sich erneut. & Datei lässt sich nicht löschen Java Basics - Anfänger-Themen 7
K Erste Schritte Jframe Im Jpanel Java Basics - Anfänger-Themen 4
D Kein Zugriff auf JFrame Java Basics - Anfänger-Themen 2
P JFrame Component automatische Größe verhindern Java Basics - Anfänger-Themen 2
D JFrame, Komponenten verschmiert. Java Basics - Anfänger-Themen 15
M Schriftfarbe in JFrame Java Basics - Anfänger-Themen 24
A JFrame läuft ewig? Java Basics - Anfänger-Themen 2
U JFrame durch ActionListener erweitern Java Basics - Anfänger-Themen 4
B Wie kann man auf das JFrame einer anderen Klasse zugreifen, etwas hinzufügen und entfernen?? Java Basics - Anfänger-Themen 3
N JFrame-Objekt in neuer Methode nicht verfügbar? Java Basics - Anfänger-Themen 3
A Frage zu: JFrame setLocationRelativeTo Java Basics - Anfänger-Themen 3
N Erste Schritte Prozessor Kernanzahl in JFrame Java Basics - Anfänger-Themen 3
DStrohma Transparenter JFrame Java Basics - Anfänger-Themen 3
R JFrame über einen JPanel Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben