我想在Java中實現一個進度JDialog。我正在解析文件,並且我想在開始解析新文件之後刷新JDialog。我的問題是,JDialog不刷新。我試圖重繪它,或調整它,所以它會重畫。我也嘗試刪除標籤,並添加一個新標籤。創建一個進度條 - 刷新一個JDialog
的ProgressDialog類:
public class ProgressDialog extends javax.swing.JDialog {
private JLabel jLabel1;
public ProgressDialog(Window frame) {
super(frame);
this.setResizable(false);
this.setLocationRelativeTo(frame);
initGUI();
//this.setVisible(true);
}
private void initGUI() {
try {
{
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
getContentPane().setLayout(null);
{
jLabel1 = new JLabel();
getContentPane().add(jLabel1);
jLabel1.setText("In Progress..");
jLabel1.setBounds(12, 12, 215, 52);
jLabel1.setHorizontalAlignment(SwingConstants.CENTER);
}
}
this.setSize(255, 114);
} catch (Exception e) {
e.printStackTrace();
}
}
public void setText(String s){
this.setVisible(true);
jLabel1.setText(s);
this.resize(this.getSize());
this.repaint();
}
}
我如何使用它:
ProgressDialog pd = new ProgressDialog(frame);
for(File file:files){
pd.setText("Parsing " + file + ".");
...
}
謝謝你的鏈接,我已經實現了它,它工作正常。 – 2012-04-24 19:51:01