Hallo zusammen,
ich rufe eine Aktion auf, die schon einige Sekunden benötigt. Damit es dem Benutzer nicht allzu langweilig wird, lasse ich eine simple ProgressBar hin- und herwandern. Diese zeigt nicht die Restzeit an, sondern dient nur zum Zeigen, dass die Anwendung noch lebt.
Hier mein Aufbau:
Klasse1
public static JProgressBar probar;
Thread starten
Threadklasse
Klasse1.probar.setIndertimate(true);
Aktion laufen lassen
Klasse1.probar.setIndertimate(false);
Meine Klasse1 startet den Thread. Dieser lässt dann erst einmal den Balken tanzen, ruft dann die Aktion auf und wenn diese beendet ist, wird der Balken wieder ausgeblendet.
Dies alles funktioniert in der Regel ganz gut. Sporadisch bekomme ich aber die folgende NullPointerException:
Mache ich da irgendetwas falsch?
Ich verwende Java 1.4.2 und der Fehler tritt sowohl unter XP als auch unter Linux auf.
Danke schon einmal,
Froop
ich rufe eine Aktion auf, die schon einige Sekunden benötigt. Damit es dem Benutzer nicht allzu langweilig wird, lasse ich eine simple ProgressBar hin- und herwandern. Diese zeigt nicht die Restzeit an, sondern dient nur zum Zeigen, dass die Anwendung noch lebt.
Hier mein Aufbau:
Klasse1
public static JProgressBar probar;
Thread starten
Threadklasse
Klasse1.probar.setIndertimate(true);
Aktion laufen lassen
Klasse1.probar.setIndertimate(false);
Meine Klasse1 startet den Thread. Dieser lässt dann erst einmal den Balken tanzen, ruft dann die Aktion auf und wenn diese beendet ist, wird der Balken wieder ausgeblendet.
Dies alles funktioniert in der Regel ganz gut. Sporadisch bekomme ich aber die folgende NullPointerException:
- java.lang.NullPointerException
at javax.swing.plaf.basic.BasicProgressBarUI.sizeChanged(Unknown Source)
at javax.swing.plaf.basic.BasicProgressBarUI.setAnimationIndex(Unknown Source)
at javax.swing.plaf.basic.BasicProgressBarUI.incrementAnimationIndex(Unknown Source)
at javax.swing.plaf.basic.BasicProgressBarUI$Animator.actionPerformed(Unknown Source)
at javax.swing.Timer.fireActionPerformed(Unknown Source)
at javax.swing.Timer$DoPostEvent.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Mache ich da irgendetwas falsch?
Ich verwende Java 1.4.2 und der Fehler tritt sowohl unter XP als auch unter Linux auf.
Danke schon einmal,
Froop