gpt4 book ai didi

java - "Please wait"有延迟的消息

转载 作者:行者123 更新时间:2023-11-30 03:17:36 27 4
gpt4 key购买 nike

我有一个很长的任务,并且在执行过程中显示“请等待”消息。我使用 SwingWorker 来实现。但有时长任务并不长,所以我想延迟 1 秒显示消息,但我不知道该怎么做。

SwingWorker<Void, Void> mySwingWorker = new SwingWorker<Void, Void>(){
@Override
protected String doInBackground() throws InterruptedException
/** Execute some operation */
}
@Override
protected void done() {
dialog.dispose();
}
};

mySwingWorker.execute();

JProgressBar progressBar = new JProgressBar();
progressBar.setIndeterminate(true);
JPanel panel = new JPanel(new BorderLayout());
panel.add(progressBar, BorderLayout.CENTER);
panel.add(new JLabel("Please wait......."), BorderLayout.PAGE_START);
dialog.add(panel);
dialog.pack();
dialog.setLocationRelativeTo(win);
dialog.setVisible(true);

}

最佳答案

在启动 SwingWorker 之前,启动一个 Swing Timer(至少)一秒延迟并设置为不重复。

将此Timer传递给您的SwingWorker,以便它可以访问它。当调用worker的done方法时,停止Timer

如果计时器被触发,您将显示等待消息。

只需付出一点努力,您就可以将整个事情包装在一个独立的类中,使用 SwingWorkerPropertyListener 支持来检测工作人员何时开始并完成

关于java - "Please wait"有延迟的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32200044/

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