Listener funktioniert nicht

MrBlues

Mitglied
Hallo zusammen,

ich bin gerade auf ein kleines Problem gestoßen. Ich habe zwei Buttons. Auf dem einen möchte ich die Anwendung schließen, wenn ich auf den Exit-Button klicke. Allerdings tut sich leider nichts. Habe nun schon lange überlegt und komme nicht weiter. Wäre nett, wenn mir hier jemand helfen könnte. Danke!:)

Freundliche Grüße

Hier der Code:

Java:
package jetedit.main;

import java.awt.BorderLayout;
import java.awt.Font;


import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;

public class Gui {
	
	protected JFrame frame;
	protected JPanel controls;
	protected JPanel content;
	protected JTextArea text;
	protected JButton open;
	protected JButton exit;
	protected Font f;
	
	private JetListener jetlistener;
	

	
	
	

	public Gui(){
		super();
		SwingUtilities.invokeLater
		(
				new Runnable()
				{
					@Override
					public void run(){
						buildGui();
					}
				}
		);
				
		
	}
	
	protected void buildGui(){
		frame = new JFrame("Jetedit  V 0.0.0.1");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setSize(800, 600);
		frame.setLocationRelativeTo(null);
		
	    content = new JPanel(new BorderLayout());
		frame.setContentPane(new JScrollPane(content));
		
		controls = new JPanel();
		open = new JButton();
		//open.addMouseListener(jetlistener);
		open.setText("Open...");
		
	    controls.add(open);
	    exit = new JButton();
	    exit.setText("Exit");
	    controls.add(exit);
	    content.add(controls, BorderLayout.LINE_START);
	    
	    text = new JTextArea();
	    content.add(new JScrollPane (text), BorderLayout.CENTER);
	    
	    f = new Font("Verdana", Font.PLAIN, 14);
	    text.setFont(f);
	    
		frame.setVisible(true);
	}
	
		
	
	
	public JButton getButton1(){
		return exit;
	}
	
	
	
	
	public static void main(String[] args) {
		new Gui();

	}

}


und die Listener Klasse:

Java:
package jetedit.main;


import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;








public class JetListener implements MouseListener{
	
	
	
	public JetListener(){
	Gui gui= new Gui();
	gui.getButton1().addMouseListener(this);
	
	}

	@Override
	public void mouseClicked(MouseEvent arg0) {
		// TODO Automatisch generierter Methodenstub
		
	}

	@Override
	public void mouseEntered(MouseEvent arg0) {
		// TODO Automatisch generierter Methodenstub
		
	}

	@Override
	public void mouseExited(MouseEvent arg0) {
		// TODO Automatisch generierter Methodenstub
		
	}

	@Override
	public void mousePressed(MouseEvent arg0) {
		System.exit(0);
		
	}

	@Override
	public void mouseReleased(MouseEvent arg0) {
		// TODO Automatisch generierter Methodenstub
		
	}
	

	
		
	}
 

NoWitzness

Mitglied
Hallo :) dir fehlt der ActionListener ...
Ich habe ihn dir eingefügt.

Lyncht mich nicht wenn es nicht 100% richtig ist - funktionieren sollte es dennoch!

Java:
package startPackage;

import java.awt.BorderLayout;
import java.awt.Font;


import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;

public class Gui implements ActionListener{

	protected JFrame frame;
	protected JPanel controls;
	protected JPanel content;
	protected JTextArea text;
	protected JButton open;
	protected JButton exit;
	protected Font f;

	private JetListener jetlistener;






	public Gui(){
		super();
		SwingUtilities.invokeLater
		(
				new Runnable()
				{
					@Override
					public void run(){
						buildGui();
					}
				}
				);


	}

	protected void buildGui(){
		frame = new JFrame("Jetedit  V 0.0.0.1");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setSize(800, 600);
		frame.setLocationRelativeTo(null);

		content = new JPanel(new BorderLayout());
		frame.setContentPane(new JScrollPane(content));

		controls = new JPanel();
		open = new JButton();
		//open.addMouseListener(jetlistener);
		open.setText("Open...");

		controls.add(open);
		exit = new JButton();
		exit.setText("Exit");
		exit.addActionListener(this);
		controls.add(exit);
		content.add(controls, BorderLayout.LINE_START);

		text = new JTextArea();
		content.add(new JScrollPane (text), BorderLayout.CENTER);

		f = new Font("Verdana", Font.PLAIN, 14);
		text.setFont(f);

		frame.setVisible(true);
	}




	public JButton getButton1(){
		return exit;
	}




	public static void main(String[] args) {
		new Gui();

	}

	@Override
	public void actionPerformed(ActionEvent e) {

		if (exit == e.getSource()) 
		{
			System.exit(0);
		}

	}
}

Lg :)
 

NoWitzness

Mitglied
Du hast nur geschrieben, damit der Listener nicht funkt ^^
Bin grad nicht zuhause aber ich werd in den nächsten Stunden versuchen, dir zu helfen :)
 

NoWitzness

Mitglied
Du hast nur geschrieben, damit der Listener nicht funkt ^^
Bin grad nicht zuhause aber ich werd in den nächsten Stunden versuchen, dir zu helfen :)
 

Harry Kane

Top Contributor
Nach dem ersten Drüberlesen hätte ich vorgeschlagen, daß du im Konstruktor deiner Gui-Klasse einfach die bereits vorhandene Variable jetlistener vom Typ JetListener initialisierst.

Wahrscheinlich hast du das schon versucht und dich gewundert, warum das Programm nicht läuft. Der Grund dafür ist einfach ein stack overflow: Im Konstruktor deiner JetListener Klasse wird eine neue Instanz von Guin angelegt, in dieser wiederum eine neue Instanz von JetListener, dort wieder von Gui usw.
Lösung: Lösche den Konstruktor von JetListener komplett, dann entferne in der Gui-Klasse das Kommentarzeichen vor //open.addMouseListener(jetlistener); und schliesslich schreibe in der JetListener-Klasse in einen Methodenrumpf deiner Wahl den Befehl System.exit();
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J JTable Selection Listener funktioniert nicht AWT, Swing, JavaFX & SWT 4
M Key-,... Listener funktioniert nicht immer AWT, Swing, JavaFX & SWT 2
padde479 MenuItem MouseEvent/-Listener AWT, Swing, JavaFX & SWT 5
W Gibt es einen "automatischen Listener" in Swing oder JTable oder der ATM-Klasse? AWT, Swing, JavaFX & SWT 14
G listener repaint() - verschiedene Darstellung AWT, Swing, JavaFX & SWT 24
P JTable Listener für die Änderung einzelner Zellen oder Rows AWT, Swing, JavaFX & SWT 2
K Warum genau hat man einen Listener, dann ein Event und was ist ein Adapter AWT, Swing, JavaFX & SWT 2
J Key-Listener in Java AWT, Swing, JavaFX & SWT 37
S JavaFX - mit Listener Veränderungen in einer TableView abhören AWT, Swing, JavaFX & SWT 3
N JavaFX 1 Listener für mehrere ChoiceBoxen AWT, Swing, JavaFX & SWT 3
B Probleme Action Listener Taschenrechner AWT, Swing, JavaFX & SWT 27
M List Listener AWT, Swing, JavaFX & SWT 37
I AWT Listener während man in anderem Fenster ist AWT, Swing, JavaFX & SWT 4
U Funktionsweise Listener AWT, Swing, JavaFX & SWT 1
L TextField Listener AWT, Swing, JavaFX & SWT 13
K Nullpointer Combobox Listener AWT, Swing, JavaFX & SWT 2
L JavaFX Image im ImageView auf Scroll Listener reagieren AWT, Swing, JavaFX & SWT 5
Salo JTabel Selection listener Bsp. AWT, Swing, JavaFX & SWT 5
J Action Listener Rückgabewert AWT, Swing, JavaFX & SWT 14
MaxG. Swing JMenu einen Listener Hinzufügen AWT, Swing, JavaFX & SWT 25
L JavaFX Verbindung zwischen Beschreibung und Listener (Codebehind Klasse) AWT, Swing, JavaFX & SWT 4
T Swing Methode in Listener aufrufen AWT, Swing, JavaFX & SWT 3
S Swing Tabellen - Listener & richtige Row AWT, Swing, JavaFX & SWT 3
J Java -8 Action Listener für mehrere Buttons AWT, Swing, JavaFX & SWT 9
S Erste Schritte mit GUI - Fileverarbeitung, Listener,... AWT, Swing, JavaFX & SWT 10
M JButton - Listener AWT, Swing, JavaFX & SWT 1
R Swing Mehrere JTextFields mit einem Document Listener AWT, Swing, JavaFX & SWT 2
K JavaFX Focus Listener für gesamte Scene AWT, Swing, JavaFX & SWT 1
M Key Listener reagiert nicht AWT, Swing, JavaFX & SWT 4
F In Action Listener TextFields einlesen und prüfen. Abbruch bei falschen Eingaben. Wie mache ich das? AWT, Swing, JavaFX & SWT 2
S Swing JComboBox mit Listener aktualisieren AWT, Swing, JavaFX & SWT 13
elischa JFrame über mehrere JPanel und Listener AWT, Swing, JavaFX & SWT 17
llabusch Event Handling Listener spielt verrückt AWT, Swing, JavaFX & SWT 8
kaoZ Swing Architektonisches Problem / Listener / MVC AWT, Swing, JavaFX & SWT 14
H org.eclipse.swt.widgets.Scale MouseRelease listener AWT, Swing, JavaFX & SWT 1
MaDDin-94 Swing Listener reagiert nicht immer AWT, Swing, JavaFX & SWT 2
A JLabel im Listener färben AWT, Swing, JavaFX & SWT 11
P Event Handling Listener beim öffnen von einem JPopupMenu AWT, Swing, JavaFX & SWT 3
A Listener für JGTextField AWT, Swing, JavaFX & SWT 2
J Programmierstil: Kommunikation Listener und GUI AWT, Swing, JavaFX & SWT 3
B JTable Renderer / Listener AWT, Swing, JavaFX & SWT 7
M Swing JList Listener AWT, Swing, JavaFX & SWT 20
K Action Listener implementieren über Objekt AWT, Swing, JavaFX & SWT 14
E Listener AWT, Swing, JavaFX & SWT 3
M SWING Listener ohne Wirkung AWT, Swing, JavaFX & SWT 2
P Listener Auswahl Tabelle AWT, Swing, JavaFX & SWT 6
P JPanel- Listener durch JTextArea aktivieren AWT, Swing, JavaFX & SWT 8
J Swing dragging listener AWT, Swing, JavaFX & SWT 5
H Problem mit dem Action listener.... AWT, Swing, JavaFX & SWT 2
J Frame mit Button erstellen - Warum ist es nötig, Frame über Unterklasse zu erstellen? (Reg Listener) AWT, Swing, JavaFX & SWT 2
M Fenster schließen - Listener AWT, Swing, JavaFX & SWT 5
G SWT TreeViewer - drop listener austauschen AWT, Swing, JavaFX & SWT 2
S Action Listener in innerer Klasse ausführen. AWT, Swing, JavaFX & SWT 8
J Sinn eines Selection Listener AWT, Swing, JavaFX & SWT 5
M JList mit DefaultListModel und listener AWT, Swing, JavaFX & SWT 4
M comboBox Listener? AWT, Swing, JavaFX & SWT 2
T Listener in anderen Panel deaktivieren AWT, Swing, JavaFX & SWT 3
A Swing Suche Listener für beliebige Änderung an GUI Items/Controls AWT, Swing, JavaFX & SWT 8
T SWT: Listener auf einem Button reagiert nicht AWT, Swing, JavaFX & SWT 2
L Swing JTextField Content-Listener AWT, Swing, JavaFX & SWT 4
P AWT Wie kann mein listener den Inhalt eines anderen Textfelds ändern? AWT, Swing, JavaFX & SWT 10
M Ansätze zur Kombination mehrerer Listener für Interaktion AWT, Swing, JavaFX & SWT 19
C JLabel Listener auf Textänderung? AWT, Swing, JavaFX & SWT 5
M Mouse Wheel Listener reagiert mehrmals AWT, Swing, JavaFX & SWT 5
F SWT Button listener richtig erstellen AWT, Swing, JavaFX & SWT 2
El_Lobo Swing Problem bei Methodenaufruf in innerer Klasse bei Listener AWT, Swing, JavaFX & SWT 3
S Wem füge ich welchen Listener hinzu? AWT, Swing, JavaFX & SWT 4
R Durch Listener lässt sich Programm nicht mehr ausführen AWT, Swing, JavaFX & SWT 4
T Callback vs. Event listener AWT, Swing, JavaFX & SWT 7
S Swing JTree und seine Listener... AWT, Swing, JavaFX & SWT 4
E JComboBox Listener AWT, Swing, JavaFX & SWT 2
AyKay SWT (alle) Listener bzw. ModifyEventListener entfernen AWT, Swing, JavaFX & SWT 2
S jTextField Listener AWT, Swing, JavaFX & SWT 7
E Listener, werte in andere Klasse übernehmen AWT, Swing, JavaFX & SWT 11
L Action listener in bestimmter spalte AWT, Swing, JavaFX & SWT 2
J AWT Action Listener etc. AWT, Swing, JavaFX & SWT 7
xehpuk Swing Listener für JPopupMenu AWT, Swing, JavaFX & SWT 3
F JCalendar mouseclick listener AWT, Swing, JavaFX & SWT 2
W AWT Listener bei TrayIcon AWT, Swing, JavaFX & SWT 2
K Swing Listener bei JPopupMenu AWT, Swing, JavaFX & SWT 9
E Swing JTextField Listener nach Update?! AWT, Swing, JavaFX & SWT 2
T TransformGroup Listener AWT, Swing, JavaFX & SWT 8
O Swing JTable Listener AWT, Swing, JavaFX & SWT 2
O Collection Listener AWT, Swing, JavaFX & SWT 6
L AWT Paint(g) im Listener aufrufen AWT, Swing, JavaFX & SWT 2
G JTree - Observer oder Listener? AWT, Swing, JavaFX & SWT 6
Avalarion SWT Listener auf Label oder Text Teile AWT, Swing, JavaFX & SWT 10
C Ermitteln ob JComponent einen Listener besitzt AWT, Swing, JavaFX & SWT 2
L JTextfield Listener AWT, Swing, JavaFX & SWT 3
C Listener Probleme AWT, Swing, JavaFX & SWT 6
N Listener für Variable AWT, Swing, JavaFX & SWT 4
C Swing Listener für TabPanel AWT, Swing, JavaFX & SWT 8
B Line aus Listener? AWT, Swing, JavaFX & SWT 11
G Model,Listener und background jobs AWT, Swing, JavaFX & SWT 4
1 JList - clearSelection nicht berücksichtigen im Listener AWT, Swing, JavaFX & SWT 7
I Swing Listener auf JPanel AWT, Swing, JavaFX & SWT 9
Dit_ MutableComboBoxModel | Listener fehlt ? AWT, Swing, JavaFX & SWT 6
T Swing JSlider und Adjustment-Listener wollen nicht so recht AWT, Swing, JavaFX & SWT 2
N Swing Textfield listener AWT, Swing, JavaFX & SWT 2
S Combo Box action listener AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben