Progressbar nur für bestimmte Zeit sichbar

Krikus

Mitglied
Hi,

ich habe eine Progressbar, die bei Druck auf einem Button erhöht oder verringert wird, und erst bei Druck sichtbar wird.
Ist es möglich das diese Progressbar für z.B 4. Sekunden sichtbar ist, und dannach wieder unsichtbar wird. Während dessen, sollen aber die anderen Buttons funktionieren.

Gruß
Krikus
 
Ich würde beim Buttondruck einfach einen Thread starten, ihm für 4 Sekunden pausieren und danach setVisible(boolean) aufrufen.
 
Java:
class Name extends Thread (implements Runnable)
{
	private JProgressBar bar;

	public ..()
	{
		.....
		Thread t = new Thread(this);
		t.start();
		....
	}
	public void run()
	{
		try
		{
			TimeUnit.SECOND.sleep(4L);
		}
		catch(InterruptedException){}
		bar.setVisible(false);
	}
}

Wenn du nicht immer einen neuen Thread starten willst starte ihm halt einmal und lass ne Schleife mit nen langen sleep, welches einfach beim Knopfdruck interrupted wird durchrennen. Mit Thread.join() wartest du, bis der Thread beendet wurde. Aber das darfst du nur in einen anderen, und nicht in den "Hauptthread" machen, da sonst die GUI nicht neu gezeichnet werden kann.

Ach ja, Swing ist nicht Threadsafe.
 
Zurück