Hallo,
mein Applet kann verschiedene Messwerte auslesen. Da das Messen immer einige Zeit braucht, will ich die Restdauer der Messung mit einer ProgressBar anzeigen. Sobald ich die Messung starte, soll die Statusanzeige angezeigt werden, sobald die Messung beendet ist soll die Anzeige wieder verschwinden. Eigentlich nicht kompliziert. In den Grundzügen funktionierts auch - jedoch nur für die jeweils erste Messung.
Wenn ich nach Beendigung der ersten Messung eine zweite Messung durchführen will, wird zwar die Messung ausgeführt, die dazugehörige ProgressBar wird aber nicht mehr angezeigt. Also bei der ersten Messung funktioniert alles super, bei den weiteren erscheint die ProgressBar (bzw. das Panel in der sie sich befindet) nicht.
Die Progressbar befindet sich mit anderen Elementen in einem Panel was mit folgender (gekürzter) Klasse beschrieben wird:
Das Ganze binde ich wie folgt in meine Hauptklasse ein:
Und so wird es aufgerufen:
Im Prinzip soll das Panel im dem sich die ProgressBar befindet jeweils sichtbar und unsichtbar sein. So ist zumindest mein Ansatz, der leider nur zur Hälfte funktioniert.
Weiß jemand woran das liegen könnte? Oder hat jemand eine besser Idee? So ganz gefallen tut mir das sichtbar/unsichtbar im Moment nämlich noch nicht....
mein Applet kann verschiedene Messwerte auslesen. Da das Messen immer einige Zeit braucht, will ich die Restdauer der Messung mit einer ProgressBar anzeigen. Sobald ich die Messung starte, soll die Statusanzeige angezeigt werden, sobald die Messung beendet ist soll die Anzeige wieder verschwinden. Eigentlich nicht kompliziert. In den Grundzügen funktionierts auch - jedoch nur für die jeweils erste Messung.
Wenn ich nach Beendigung der ersten Messung eine zweite Messung durchführen will, wird zwar die Messung ausgeführt, die dazugehörige ProgressBar wird aber nicht mehr angezeigt. Also bei der ersten Messung funktioniert alles super, bei den weiteren erscheint die ProgressBar (bzw. das Panel in der sie sich befindet) nicht.
Die Progressbar befindet sich mit anderen Elementen in einem Panel was mit folgender (gekürzter) Klasse beschrieben wird:
Code:
public class ProgressBar extends JPanel {
public JPanel panel = null;
public JProgressBar bar = new JProgressBar( 0, 37);
public ProgressBar() {
super(new BorderLayout());
initialize();
}
private void initialize() {
this.setLayout(new BorderLayout());
this.add(bar, BorderLayout.SOUTH);
}
}
Das Ganze binde ich wie folgt in meine Hauptklasse ein:
Code:
public ProgressBar pb = new ProgressBar();
private JPanel getJContentPane() {
if (jContentPane == null) {
// ....
jContentPane.add(pb);
pb.setBounds(new Rectangle(2, 2, 160, 71));
//....
}
return jContentPane;
}
Und so wird es aufgerufen:
Code:
public void getCurrentParameters () {
pb.setVisible(true);
pb.validate();
do_something();
pb.setVisible(false);
}
Im Prinzip soll das Panel im dem sich die ProgressBar befindet jeweils sichtbar und unsichtbar sein. So ist zumindest mein Ansatz, der leider nur zur Hälfte funktioniert.
Weiß jemand woran das liegen könnte? Oder hat jemand eine besser Idee? So ganz gefallen tut mir das sichtbar/unsichtbar im Moment nämlich noch nicht....