Hallo zusammen,
ich versuche gerade ne ProgessBar einzublenden, wenn das Programm für längere Zeit arbeiten muss. Dafür hab ich mir folgendes überleget gehabt:
Frage ist, ob der Ansatz richtig ist und wie ich das ganze jetzt richtig zum Laufen bekomme. Momentan scheint es so, als würde run() nie ausgeführt.
Kann mir jemand weiterhelfen?
Danke
ich versuche gerade ne ProgessBar einzublenden, wenn das Programm für längere Zeit arbeiten muss. Dafür hab ich mir folgendes überleget gehabt:
Code:
public class FortschrittsDialog extends JDialog implements Runnable
{
private int fortschritt;
private JLabel statusLbl;
private String statusTxt;
private JProgressBar fsbalken;
public FortschrittsDialog(Frame fr, String titel)
{
super(fr,titel,false);
this.fortschritt=10;
this.statusTxt="Bitte warten...";
this.statusLbl=new JLabel("");
initDialog();
}
public void initDialog()
{
// Initialisiere den Fortschrittsbalken
this.fsbalken = new JProgressBar();
this.fsbalken.setValue(0);
this.statusLbl.setText(this.statusTxt);
//
JPanel p = new JPanel(new BorderLayout());
p.setLayout(new BorderLayout());
p.add(statusLbl,BorderLayout.NORTH);
p.add(fsbalken,BorderLayout.CENTER);
getRootPane().add(p);
//
setSize(350,100);
//
setResizable(false);
//
setVisible(true);
}
public void setFortschritt(int f)
{
this.fortschritt=f;
}
public void setStatusTxt(String s)
{
this.statusTxt=s;
}
/* (non-Javadoc)
* @see java.lang.Runnable#run()
*/
public void run()
{
// TODO Auto-generated method stub
while (true)
{
this.fsbalken.setValue(this.fortschritt);
this.statusLbl.setText(this.statusTxt);
try
{
Thread.sleep(300);
} catch (InterruptedException e)
{
// ...
}
}
}
}
Frage ist, ob der Ansatz richtig ist und wie ich das ganze jetzt richtig zum Laufen bekomme. Momentan scheint es so, als würde run() nie ausgeführt.
Kann mir jemand weiterhelfen?
Danke