Thread.sleep() macht mein JFrame transparent?!

Xemper

Grünschnabel
Hallo Com,

Ich möchte über einen Button zugleich ein JFrame unsichtbar machen, eines sichtbar und einen Timer starten.

Habe ich nun die ganzen Funktion in dem ActionListener des Buttons, so wird mein JFrame, welcher sichtbar gemacht werden soll transparent?! Ich glaube es liegt daran, dass ich die EDT zum schlafen bringe, aber wie umgehe ich dieses Problem? Hier mein Buttoncode:

PHP:
b3.addActionListener(new ActionListener(){ 
			public void actionPerformed(ActionEvent ae) {
				menue.setVisible(false);
				frame.setVisible(true);
				while(secs>=0){
					System.out.println(secs++);
					try {
						Thread.sleep(1000);
					} catch (InterruptedException e) {
						e.printStackTrace();
					}
				}
			}});
 
Hi

Ich glaube es liegt daran, dass ich die EDT zum schlafen bringe
Ja
aber wie umgehe ich dieses Problem?
Mit einem Thread oder mit speziellen Klassen wie Swingworker etc.
Also bei Buttondruck den Thread starten, dieser sleept und macht je nach Zeit eben was.
Falls aus dem Thread heraus auf die Gui zugegriffen werden soll:
Zugriff nur mit invokeLater uÄ.; Beispiele dazu gibts genug.
 
Zurück