gpt4 book ai didi

java - 创建进度条 - 刷新 JDialog

转载 作者:行者123 更新时间:2023-11-29 06:42:09 25 4
gpt4 key购买 nike

我正在尝试用 Java 实现一个进度 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 + ".");

...

}

最佳答案

您应该在工作线程上执行文件解析,并在 Event Dispath 线程上更新您的进度对话框。一些值得阅读的链接:

关于java - 创建进度条 - 刷新 JDialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10295749/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com