Hi Leutz.
Hab ein kleines Problem mit einer JProgressBar.
Wenn ich ein Seperates Programm mache funktioniert das alles einwandfrei..
So jetzt will ich das gleiche(auch einfach mal mit festen werten) in mein Programm packen.
Die Klasse ist ein JInternalFrame die einen ActionLIstener und einen DocumentListener hat.
Ich will bei nem Button(testweise der 'close' button) das ding starten.
einfach nur mal zum laufen bringen...
Es ist genau das selbe in grün..
der JDialog wird erstellt
Mein Problem ist das er den Balken bei setValue nicht zeichnet..
Geschlossen wird er auch zum schluss(ich öffne nur noch mal damit man sieht das der balken zum schluss voll ist)
Woran könnte das denn liegen
Hat wer ne Idee oder nen ander Lösung
Hab ein kleines Problem mit einer JProgressBar.
Wenn ich ein Seperates Programm mache funktioniert das alles einwandfrei..
Code:
import java.awt.BorderLayout;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JProgressBar;
public class Main {
public static void main(String[] args) {
int min = 0;
int max = 300;
final JDialog dlg = new JDialog();
JProgressBar dpb = new JProgressBar(min, max);
dlg.add(BorderLayout.CENTER, dpb);
dlg.add(BorderLayout.NORTH, new JLabel("Progress..."));
dlg.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
dlg.setSize(300, 75);
Thread t = new Thread(new Runnable() {
public void run() {
dlg.setVisible(true);
}
});
t.start();
for (int i = min; i <= max; i++) {
dpb.setValue(i);
if(dpb.getValue() == max){
dlg.setVisible(false);
System.exit(0);
}
try {
Thread.sleep(25);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
dlg.setVisible(true);
}
}
So jetzt will ich das gleiche(auch einfach mal mit festen werten) in mein Programm packen.
Die Klasse ist ein JInternalFrame die einen ActionLIstener und einen DocumentListener hat.
Ich will bei nem Button(testweise der 'close' button) das ding starten.
einfach nur mal zum laufen bringen...
Es ist genau das selbe in grün..
Code:
if(cmd.equals("close")){
int min = 0;
int max = 200;
final JDialog dlg = new JDialog();
JProgressBar dpb = new JProgressBar(min, max);
dlg.add(BorderLayout.CENTER, dpb);
dlg.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
dlg.setSize(300, 75);
Thread t = new Thread(new Runnable() {
public void run() {
dlg.setVisible(true);
}
});
t.start();
for (int i = min; i <= max; i++) {
dpb.setValue(i);
if(dpb.getValue() == max){
dlg.setVisible(false);
}
try {
Thread.sleep(25);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
dlg.setVisible(true);
//doAtExit();
}
der JDialog wird erstellt
Mein Problem ist das er den Balken bei setValue nicht zeichnet..
Geschlossen wird er auch zum schluss(ich öffne nur noch mal damit man sieht das der balken zum schluss voll ist)
Woran könnte das denn liegen
Hat wer ne Idee oder nen ander Lösung
Zuletzt bearbeitet: