Hallo,
hab ein kleines Programm geschrieben das verschiedene Werte berechnet. Das funktioniert soweit auch ganz gut.
Jetzt möchte ich das beim drücken des Buttons "Berechnen" ein kleines JWindow erscheint das die "Berechnung simuliert" und anschließend, nach schließen des JWindows, ein Fenster erscheint das ein Ergebnis anzeigt.
Mein Problem liegt beim JWindow. Ich hab einen Thread.sleep eingebaut damit das JWindow nach ein paar Sekunden verschwindet und das Ergebnisfenster erscheint. Wenn ich das so mache erscheint nur ein weisser Bereich des JWindows ohne Inhalt (animiertes gif und text fehlt), das Ergebnisfenster wird dann aber sauber ausgeführt.
Lasse ich das mit Thread.sleep weg, wird das JWindow sauber angezeigt, aber es verschwindet nicht mehr.
An was könnte das liegen bzw. hat jemand eine Idee damit das funktioniert?
Hier der Source für das JWindow:
hab ein kleines Programm geschrieben das verschiedene Werte berechnet. Das funktioniert soweit auch ganz gut.
Jetzt möchte ich das beim drücken des Buttons "Berechnen" ein kleines JWindow erscheint das die "Berechnung simuliert" und anschließend, nach schließen des JWindows, ein Fenster erscheint das ein Ergebnis anzeigt.
Mein Problem liegt beim JWindow. Ich hab einen Thread.sleep eingebaut damit das JWindow nach ein paar Sekunden verschwindet und das Ergebnisfenster erscheint. Wenn ich das so mache erscheint nur ein weisser Bereich des JWindows ohne Inhalt (animiertes gif und text fehlt), das Ergebnisfenster wird dann aber sauber ausgeführt.
Lasse ich das mit Thread.sleep weg, wird das JWindow sauber angezeigt, aber es verschwindet nicht mehr.
An was könnte das liegen bzw. hat jemand eine Idee damit das funktioniert?
Hier der Source für das JWindow:
Code:
class SplashScreenExecute extends JWindow {
public SplashScreenExecute(String image, String text){
JPanel contentPane = new JPanel();
contentPane.setLayout(new BorderLayout());
Border bd1 = BorderFactory.createBevelBorder(BevelBorder.RAISED);
Border bd2 = BorderFactory.createEtchedBorder();
Border bd3 = BorderFactory.createCompoundBorder(bd1,bd2);
((JPanel)contentPane).setBorder(bd3);
ImageIcon icon = new ImageIcon(image);
contentPane.add(new JLabel(" ", JLabel.CENTER), BorderLayout.NORTH);
contentPane.add(new JLabel(icon, JLabel.CENTER), BorderLayout.CENTER);
contentPane.add(new JLabel(text, JLabel.CENTER), BorderLayout.SOUTH);
setContentPane(contentPane);
}
public void showFor(int millis){
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
setLocation(dim.width / 3, dim.height /3);
setSize(dim.width / 3, dim.height / 3);
setVisible(true);
new Ergebnis();
/*try{
Thread.sleep(millis);;
}
catch (InterruptedException e){
}*/
}
}