Swing JFrame schließt sich nicht

Kakulukiam21

Aktives Mitglied
Hallo Na,

ich habe hier folgendes Problem:

Ich habe hier meine JFrames die alle an sich funktionieren und auch keine Fehler oder so werfen.
Nur habe ich (mehr durch Zufall) rausbekommen das sich die Fenster nicht richtig schließen unter bestimmten Bedingung.

Diese Bedingungen wären, innerhalb von einer Sekunden 3 mal auf den Button zu klicken, ergo wie behämmert auf die Maus hauen.

Die JFrames sollten sich eigentlich mit jedem Klick schließen und ein neues erstellen.
Um sie zu schließen benutze ich
Java:
this.setVisible(false);
this.dispose();

Gibs dafür eine nette Lösung?

Ich hätte die Idee das ich im Hintergrund ein Timer laufen lasse, da sich die Frames im Hintergrund nicht verändern und ich sie dann schließe. Falls es wieder soweit kommt
 
G

Gast2

Gast
Hast du setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); gesetzt? Beendet im falschen Thread?
Mach mal ein KSBK
 
Zuletzt bearbeitet von einem Moderator:

Kakulukiam21

Aktives Mitglied
Hast du setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); gesetzt? Beendet im falschen Thread?
Mach mal ein KSBK

Ich hatte kein setDefaultCloseOperation gesetzt, hat aber auch kein Unterschied gemacht als ich es reingenommen habe.

Das er es im falschen Thread beendet kann gut sein, weiß ich aber nicht. Denke eher nicht

Was ist ein KSBK?
 
G

Gast2

Gast
hast du mein beitrag überhaupt gelesen^^????
Ich hab gesagt KURZ, also jeden Mist den man für das Problem nicht braucht raus, sowie z.B. deine Bilder, Schrifte usw.
2tens KOMILIERBAR, ich hab keine Klasse Countdown wie soll ich also dein Code ausführen???
3tens sehe ich nirgenswo ein dispose? Kristallkugel?

EDIT: Warum ist dein Button nicht fokusierbar? Warum erstellst du neue Klassen und lässt die Anzeigen wenn du dein Frame eh schließen willst???

EDIT EDIT : Gut dass mein Beitrag jetzt noch viel Sinn macht :p
 
Zuletzt bearbeitet von einem Moderator:

Kakulukiam21

Aktives Mitglied
So ich hoffe ich habe ihn jetzt so kurz wie möglich gehalten :p

Klasse Overview
Java:
import java.awt.Dimension;

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

import uta.Buttons;

public class Overview {
	Tools hilfe = new Tools();
	Buttons create = new Buttons();
	JLabel design;

	public void anzeige() {
		final JFrame gui = new JFrame();
		gui.setUndecorated(true);
		Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
		gui.setSize(screenSize);
		gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		gui.setLayout(null);
		design = new JLabel(bild);

		hilfe.displayMenu(gui, getClass().toString());

		gui.setVisible(true);

	}
}


Klasse displayMenu
Java:
import java.awt.*;
import javax.swing.*;
import uta.Buttons;

public class Tools {
	Buttons create = new Buttons();

	
	public void displayMenu(JFrame gui, String className) {

		gui.getLayeredPane().add(create.Name1(gui, className),
				new Integer(JLayeredPane.DEFAULT_LAYER.intValue() + 1));
	} 

}


Klasse Buttons
Java:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;

public class Buttons {
	public int button = 62;
	public Color background = Color.GRAY;
	public int menu1 = 20;
	public int menu2 = 684;
	private JButton button;

	public JButton Name1(final JFrame gui, String className) {

		button = new JButton(kalbIcon);
		button.setBounds(menu1, 105, button, button);
		button.setFocusable(false);
		if (className.contains("Einfach") || className.contains("Sinnloser")
				|| className.contains("Text")) {
			button.setBackground(Color.GRAY);
		} else {
			button.setBackground(Color.WHITE);
		}

		button.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent arg0) {
				// TODO Auto-generated method stub
				Overview kalb = new Overview();
				// System.out.println("-------Klick Stop");
				kalb.anzeige();
				gui.setVisible(false);
				gui.dispose();
				
			}
		});
		return button;
	}
}

Schönheitsfehler könnt ihr behalten ;)

Um die Frage zu beantworten, nicht fokusierbar weil es sonst einfach hässlich aussieht :D
 
Zuletzt bearbeitet:
G

Gast2

Gast
Das ist doch nicht kurz... und kompilierbar erst recht nicht...
du kannst dein problem in 2 klassen beschreiben
 
G

Gast2

Gast
Das ist kurz knapp und kombilierbar

Java:
public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {
			
			@Override
			public void run() {
				MyFrame frame = new MyFrame();
				frame.pack();
				frame.setVisible(true);
			}
		});

	}

}

Java:
public class MyFrame extends JFrame{

	public MyFrame(){
		super("Test");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		add(new MyPanel(this));
	}
	
}

Java:
public class MyPanel extends JPanel{
	
	public MyPanel(final JFrame parent){
		JButton button = new JButton("Beenden");
		button.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				parent.dispose();
				
			}
		});
		add(button);
	}

}
 
G

Gast2

Gast
Java:
 button.addActionListener(new ActionListener() {
 
            @Override
            public void actionPerformed(ActionEvent arg0) {
                                Overview kalb = new Overview();
                              
            }
        });

Hier erstellst du jedes mal ein neues JFrame und machst es wieder auf, wie soll es dann auch zugehen ???:L
 

Kakulukiam21

Aktives Mitglied
Hier erstellst du jedes mal ein neues JFrame und machst es wieder auf, wie soll es dann auch zugehen

An der Stelle ist es verwirrend, stimmt. Wenn ich bei Overview bin und zu Overview wieder gehe schließe ich das Fenster und bau es direkt noch mal auf.

Nur weiß ich nicht wie ich das umgehen könnte damit das nicht passiert.
 

Fab1

Top Contributor
Hast du das GUI mit Window Builder erstellt? Sieht zumindest sehr danach aus. Für den Anfang würde ich dass nicht machen sondern erstmal verstehen wie das ganze ohne funktioniert. Eventuell treten dann solche Probleme erst garnicht auf. (sollte ich mich irren .. sry)
 
G

Gast2

Gast
An der Stelle ist es verwirrend, stimmt. Wenn ich bei Overview bin und zu Overview wieder gehe schließe ich das Fenster und bau es direkt noch mal auf.

Nur weiß ich nicht wie ich das umgehen könnte damit das nicht passiert.

Ja was soll das für einen Sinn machen?? Das ist eine endlosschleife und es fehlt immer noch das CloseOperation im JFrame...

Normalwerweise lässt man das JFrame offen bis der Anwender das Programm beendet und tauscht nur JPanels aus. Dein Aufbau der ganzen Anwendungen ist sehr verwirrend... Darum bau dir ein KSKB dann findest den Fehler beim rauschmeißen deiner Komponenten alleine
 

Kakulukiam21

Aktives Mitglied
Normalwerweise lässt man das JFrame offen bis der Anwender das Programm beendet und tauscht nur JPanels aus.

Hm wie meinst du das?
Ich habe ja unterschiedliche Hintergrundbilder etc. die angezeigt werden müssen.


Meinst du damit das ich die ganzen Sachen dann einfach auf ein JPanel lege und dieses dann nur austausche?
 

Kakulukiam21

Aktives Mitglied
Danke, ich werde mir das mit dem Tabbed Pane mal genauer anschauen. Da ist in etwa die Richtung was ich mir schon mal überlegt hatte aber keine Umsetzung wusste und es einfach gehalten habe.
 

bERt0r

Top Contributor
Vor allem würde ich mal deinen Programmierstil überdenken. Du ziehst das ganze ziemlich Funktionsorientiert auf. Java ist Objektorientiert. Es ist auch viel übersichtlicher, wenn du dir in einer Klasse eine GUI zusammenbaust, anstatt das Erstellen einzelner Komponenten in "Tool","Buttons" oder "create" Klassen auszulagern. Wenn du einen besonderen Button hast, der wiederverwendbar sein soll, mach eine Klasse "MeinBesondererButton". Ein new MeinBesondererButton() ist sehr viel aussagekräftiger als create.Name1(....................);
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K jframe schließt sich sofort AWT, Swing, JavaFX & SWT 3
K Swing JUnit schließt JFrame AWT, Swing, JavaFX & SWT 6
trash JFrame schließt nicht AWT, Swing, JavaFX & SWT 8
D JFrame schließt die VM nicht? AWT, Swing, JavaFX & SWT 2
H Mehrere Panels auf JFrame AWT, Swing, JavaFX & SWT 8
M Seltsame Exception bei setVisible(true) Methode in einem JFrame AWT, Swing, JavaFX & SWT 2
Paty JFrame anfänger bräuchte hilfestellung AWT, Swing, JavaFX & SWT 7
Apfelbaum2005 Swing JFrame mehrere JPanels mit unterschiedlichen Formen hinzufügen AWT, Swing, JavaFX & SWT 1
N AWT JPanel zu Jframe hinzufügen AWT, Swing, JavaFX & SWT 2
Mausposition relativ zu JFrame bekommen AWT, Swing, JavaFX & SWT 6
sserio JFrame setIconImmage() funktioniert nicht AWT, Swing, JavaFX & SWT 3
N CPU Belastung bei offenem JFrame auf fast 100% AWT, Swing, JavaFX & SWT 15
N Knopf ganz oben (JFrame) AWT, Swing, JavaFX & SWT 9
N JFrame löscht alles, wenn groß gemacht AWT, Swing, JavaFX & SWT 9
N jFrame löscht am Ende des Threads alles AWT, Swing, JavaFX & SWT 2
N JFrame loescht alles, sobald der Thread zuende ist AWT, Swing, JavaFX & SWT 22
E JFrame resizing AWT, Swing, JavaFX & SWT 2
E Swing Mausposition auf einem JFrame erkennen AWT, Swing, JavaFX & SWT 5
Lunar Swing JFrame erstellt; weitere Elemente werden nicht eingefügt/sind nicht zu sehen AWT, Swing, JavaFX & SWT 4
L JFrame Gui in anderer Methode aufrufen AWT, Swing, JavaFX & SWT 0
H Beim JFrame erstellen ein anderes schließen AWT, Swing, JavaFX & SWT 0
H Daten aus einer XML(x83-Datei) in einem JFrame anzeigen lassen AWT, Swing, JavaFX & SWT 9
H Tabelle in JFrame einfügen AWT, Swing, JavaFX & SWT 1
VPChief Ein JFrame ohne setUndecorated(true); nicht verschiebbar machen. AWT, Swing, JavaFX & SWT 6
R Swing Hat mein JFrame meinen Component? AWT, Swing, JavaFX & SWT 2
R Swing Design des oberen Balkens in JFrame AWT, Swing, JavaFX & SWT 2
B KeyListener auf JFrame reagiert nicht AWT, Swing, JavaFX & SWT 8
R Swing Komponente im JFrame überschreinen sich AWT, Swing, JavaFX & SWT 7
R Swing Ein gezeichneten String aus dem JFrame löschen AWT, Swing, JavaFX & SWT 5
J Exception beim JFrame erstellen AWT, Swing, JavaFX & SWT 6
T JFrame aktualisieren AWT, Swing, JavaFX & SWT 2
T Bilder bei einem JFrame einfügen AWT, Swing, JavaFX & SWT 4
R Swing Background Image in JFrame implementieren AWT, Swing, JavaFX & SWT 40
L Verbindung von Code und JFrame AWT, Swing, JavaFX & SWT 4
L JFrame wird zu klein erstellt AWT, Swing, JavaFX & SWT 7
dereki2000 Swing JFrame nah hinzufügen von Komponenten akualisieren. AWT, Swing, JavaFX & SWT 2
T JFrame Bild einfügen AWT, Swing, JavaFX & SWT 9
T JavaFX JFrame verhalten wie JOptionPane (ErrorMessage) AWT, Swing, JavaFX & SWT 1
T LookAndFeel LookAndFeel funktioniert nicht beim JFrame wechsel AWT, Swing, JavaFX & SWT 3
P Swing Mehrere JPanels auf ein JFrame hinzufügen? AWT, Swing, JavaFX & SWT 2
F JFrame zeigt nicht alle Elemente auf anhieb an AWT, Swing, JavaFX & SWT 4
P JPanle, JFrame und Graphics AWT, Swing, JavaFX & SWT 2
T Reihenfolge der Komponenten im einem JFrame AWT, Swing, JavaFX & SWT 8
K Grafik in JFrame einpassen AWT, Swing, JavaFX & SWT 3
D Mit Jmenu neue JFrame öffnen AWT, Swing, JavaFX & SWT 2
J BackgroundJPanel passt sich dem JFrame nicht an AWT, Swing, JavaFX & SWT 7
C Swing JFrame ändert Größe AWT, Swing, JavaFX & SWT 0
J JFrame Panel hinzufügen AWT, Swing, JavaFX & SWT 10
K JFrame bei JUnit Tests AWT, Swing, JavaFX & SWT 2
W Swing Hilfe beim Einbinden von Bildern in einem JFrame AWT, Swing, JavaFX & SWT 8
D JFrame wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 1
R Swing JPanels auf JFrame auf verfügbaren Platz aufblasen AWT, Swing, JavaFX & SWT 4
JR2205 Swing JxMaps Einbindung Netbeans JFrame AWT, Swing, JavaFX & SWT 4
Zar von Domarus JFrame zu BufferedImage konvertieren AWT, Swing, JavaFX & SWT 3
K KeyListener ohne JFrame AWT, Swing, JavaFX & SWT 9
Joker4632 JFrame in eine Runnable auslagern? AWT, Swing, JavaFX & SWT 4
M Limit für JFrame-Vergrößerung AWT, Swing, JavaFX & SWT 8
GreenTeaYT Wie vergebe Ich den Jframe Title den Namen aus einem Element von der Arraylist ? AWT, Swing, JavaFX & SWT 4
MaxG. JFrame Größe ändern AWT, Swing, JavaFX & SWT 16
P Jframe Bild einfügen, Hintergrund Farbe ändern, und Button schrift Größe ändern AWT, Swing, JavaFX & SWT 2
G Swing Wenn ich mein JFrame Fenster vergrößere die Inhalte anpassen AWT, Swing, JavaFX & SWT 1
G JFrame Probleme AWT, Swing, JavaFX & SWT 2
Ghostman1711 JFrame closing AWT, Swing, JavaFX & SWT 3
R Engineklasse mit JFrame AWT, Swing, JavaFX & SWT 4
M Default-WindowListener JFrame entfernen (Stichwort: iconified) AWT, Swing, JavaFX & SWT 4
ms_cikar Jframe zurück zu frame1 AWT, Swing, JavaFX & SWT 14
C Jframe ohne Rahmen AWT, Swing, JavaFX & SWT 3
lumpigerAffe Swing Jframe aktualisieren AWT, Swing, JavaFX & SWT 27
A Swing JFrame neuzeichnen lassen, position neu berechnen lassen? AWT, Swing, JavaFX & SWT 9
R JFrame schließen AWT, Swing, JavaFX & SWT 9
P Swing JFrame minimiert sich bei Doppelklick auf die Titel-Leiste AWT, Swing, JavaFX & SWT 17
krgewb AWT JFrame soll sich wie Dialog verhalten AWT, Swing, JavaFX & SWT 9
I JFrame an Bildschirm anpassen AWT, Swing, JavaFX & SWT 1
I JFrame Bild strecken und auf Bildschirmgröße anpassen AWT, Swing, JavaFX & SWT 2
P JFrame schrumpft bei Doppelklick auf die Titelleiste AWT, Swing, JavaFX & SWT 0
G JFrame - manuell Größe verändern AWT, Swing, JavaFX & SWT 6
D JFrame mindestgröße erzwingen AWT, Swing, JavaFX & SWT 2
H Swing JFrame mit JFXPanel NPE bei dispose() AWT, Swing, JavaFX & SWT 6
C Swing Borderlayout im JFrame AWT, Swing, JavaFX & SWT 4
B JButton erscheint in JFrame, obwohl er diesem nicht zugeordnet wurde! AWT, Swing, JavaFX & SWT 1
G Swing JFrame öffnen bei Pidgin Benachrichtigung AWT, Swing, JavaFX & SWT 5
OlafHD JLabel im JFrame Zentrieren AWT, Swing, JavaFX & SWT 2
S Kein JFrame unter Mac? AWT, Swing, JavaFX & SWT 8
G Resize JFrame AWT, Swing, JavaFX & SWT 8
J Teiltransparenter JFrame mit Blur-Effekt AWT, Swing, JavaFX & SWT 2
K Bild in JFrame AWT, Swing, JavaFX & SWT 2
V JScrollPane im zur Laufzeit verändernden JFrame AWT, Swing, JavaFX & SWT 0
M NetBeans JFrame Grundlangen fragen AWT, Swing, JavaFX & SWT 6
I Neues JFrame wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 5
S JFrame -> setVisible AWT, Swing, JavaFX & SWT 3
stylegangsta Eigene Klasse für JButton aus dem JFrame abrufen AWT, Swing, JavaFX & SWT 29
I Swing JMenuBar auch unten am JFrame? AWT, Swing, JavaFX & SWT 2
K SplashScreen neben JFrame behalten AWT, Swing, JavaFX & SWT 10
F Swing JLabel in JFrame anpassen AWT, Swing, JavaFX & SWT 20
B Swing Unterteiltes JFrame mit Bild in der Mitte AWT, Swing, JavaFX & SWT 4
H Netbeans Designer: Probleme mit JPanel und JFrame AWT, Swing, JavaFX & SWT 2
T Applet Applet in JFrame einbinden AWT, Swing, JavaFX & SWT 8
V JFrame wird nicht richtig angezeigt! AWT, Swing, JavaFX & SWT 2
I JFrame neu zeichnen, nicht überzeichnen! AWT, Swing, JavaFX & SWT 2
Y Kann man Buttons in einem JFrame rund machen ? AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen


Oben