gpt4 book ai didi

java - 如何在不失去对主 JFrame 的关注的情况下使用 ProgressMonitor 窗口?

转载 作者:行者123 更新时间:2023-12-04 05:56:18 25 4
gpt4 key购买 nike

我不知道该怎么做,因为 ProgressMonitor 窗口是自调用的(2 秒后,如有必要),我无法控制它何时以及是否打开。因此我不知道如何在后台打开它,所以焦点放在主 JFrame 上。

MyFile file = panel.getFilesystem().getFile(panel.getDirectory()+fileName);
if(file.isDirectory()){
final ProgressMonitor monitor = new ProgressMonitor((Component)event.getSource(),
"Determining the size of "+file.getName(), "Initializing...", 0, 100);
monitor.setMillisToPopup(500);
monitor.setMillisToDecideToPopup(200);
final DirectorySizeWorker worker = new DirectorySizeWorker(file, table, monitor, table.getSelectedRow(), 2);
worker.execute();
worker.addPropertyChangeListener(
new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent event) {
if ("progress".equals(event.getPropertyName())) {
monitor.setProgress((Integer)event.getNewValue());
monitor.setNote((Integer)event.getNewValue() + "% completed");
}
if("state".equals(event.getPropertyName())){
monitor.close();
}
}
});
}
monitor正在监控 worker 的行为. workerSwingWorker试图破坏 file 的实现大小(在这种特殊情况下文件是一个目录,这就是为什么我认为它可能需要很长时间并使用 SwingWorker ),如果它需要太长时间 monitor调用一个带有进度条和进度通知的新窗口。问题是这个窗口是专注的,我宁愿它在后台打开,这样用户仍然可以浏览文件(程序是一个简单的文件管理器)。

最佳答案

ProgressMonitor(parentComponent, message, note, min, max)

在哪里:

parentComponent - the parent component for the dialog box



对话框在可见时将具有焦点,然后在关闭或设置为不可见时应将焦点返回到父级。

关于java - 如何在不失去对主 JFrame 的关注的情况下使用 ProgressMonitor 窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9483159/

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