问题标签 [progressmonitor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3467 浏览

eclipse-plugin - Eclipse Jobs API:如何跟踪另一个作业安排的作业的进度?

为安排和加入另一个 Eclipse 作业的 Eclipse 作业使用进度监视器的正确方法是什么?我希望子任务与主要任务相关联。

理想情况下,我希望能够告诉子任务使用SubProgressMonitor从主监视器创建的运行,但是我看不到这样做的方法。我查看了该Job.setProgressGroup(..., ...)方法,但文档表明该组应该使用IJobManager.createProgressGroup().

这是上下文的代码片段:

0 投票
2 回答
430 浏览

java - Using Eclipses Progress Monitor Window in a standalone Application

I'm writing an SWT/JFace application and was wondering if it is possible to use the Progress Monitor Window from Eclipse in my standalone application. For clarification: I'm speaking of this:

Progress Window

and not the ProgressMonitorDialog.

If this is not easily achievable, what would be an easy way to implement this for my own?

0 投票
0 回答
689 浏览

java - 单击“在后台运行”后返回进度监视器对话框

我有一个这样的用户工作:

当此作业开始时,我会看到一个带有 3 个按钮的进度对话框:在后台运行、取消和详细信息,显示作业的进度。这也显示在状态栏上。如果我按“在后台运行”,对话框将被隐藏,但您仍会在状态栏上看到进度。如果我想取消作业,我不能再取消了,因为即使我按下状态栏中的小按钮(在进度视图中显示后台操作)也无法再次显示对话框。

如果有人可以帮助我,我会很高兴:)。

0 投票
1 回答
782 浏览

java - 摇摆进度监视器不工作

我正在尝试学习ProgressMonitorJava Swing。我创建了这个简单的测试代码 -

}

关于这个的几个问题——

  1. 如果我取消isFrameReady选中,程序NullPointerException会在我分配按钮的动作侦听器的那一行显示 a。

  2. 如果我保留上述检查,则单击该按钮不会执行任何操作。

  3. 保持上述检查然后调试它,我让它等待一段时间,然后它到达动作监听器所在的行。在这种情况下,它可以工作,但会立即退出,说它不能invokeAndWait从事件处理线程调用。

我在这一切中缺少什么?有人可以解释如何让它工作。

0 投票
1 回答
388 浏览

java - 为什么 ProgressMonitor 在第二次调用时不显示?

我编写了一个程序,它使用默认 java 运行时中的进度条类。它完美地工作,除了它只工作一次。我用它来显示加载到我的 GUI 中的各种图像,它在启动时运行良好。但是,一旦我再次调用它,它只会显示一个没有内容的 JFrame。我可以拖动 JFrame 和一切,只是它不会显示任何东西。考虑到它在第一次运行时有效,但之后就不行了,这很奇怪。这是我的代码:

关于如何解决它的任何想法?

0 投票
1 回答
124 浏览

java - 如何在 Swing 中刷新 ProgressMonitor?

ProgressMonitor旨在处理长操作,但如果直接使用,则不会刷新。

在此处输入图像描述

0 投票
2 回答
1043 浏览

java - 以线程安全的方式使用 ExecutorService 和 ProgressMonitor

我首先定义 ProgressMonitor:

并在同一线程上使用 ExecutorService 和 invokeAll() 来处理 Callables 列表:

每个 Callable 的形式为:

IE; 每个 Callable 调用 progressBarUpdate():

每个 doSomeStuff() 都有自己的异常处理,如果发生错误或抛出异常,则返回空值。这就是为什么返回类型是 List 并且在这种情况下返回 null 的原因。Callables 和它们返回的文件列表之间没有交叉,它们都在那里维护自己的文件列表。

我发现它工作正常,但偶尔会抛出以下形式的 InterruptedException:

显示达到监视器最大值时 setProgress() 调用 close() :

并且 close() 包含许多其他非线程安全调用。

我已经修改了我的代码,因此不满足条件 nv>=max 并且我在 invokeAll() 之后显式调用 ProgressMonitor.close(),但我仍然不相信这种方法是完全线程安全的。

有没有其他人遇到过这种情况并找到了坚如磐石的解决方案?

谢谢

格雷厄姆

PS。请注意,ProgressMonitor 不是 Swing 小部件,而是封装了 Swing 组件。因此,我确保 ProgressMonitor 不在 EDT 上运行。

0 投票
0 回答
132 浏览

java - ProgressMonitorInputStream 不会在 SwingWorker 中更新

我正在尝试从我的 GUI 应用程序中创建一个简单的实用程序,用于从网站获取数据。特别是其中一个网站的加载时间非常长。所以我决定最好使用 ProgressMonitorInputStream 来通知用户我的程序没有简单地冻结。但是,我一直遇到它阻止 EDT 的问题。为了解决这个问题,我添加了一个 SwingWorker,但现在程序根本无法显示 ProgressMonitor 更新。我究竟做错了什么?

0 投票
1 回答
95 浏览

java - 如何通过进度监视器到几个子程序?

假设我有一个 API 方法,该方法旨在执行长期操作,因此接收监视器作为参数,如

如果我在这个方法中有一个操作要做,我会编写代码,例如,写一个图像

但是,如果我在 single 中执行几个长期子例程doSave怎么办?如何使该监视器以 50% 或其他方式测量每个?

0 投票
1 回答
1231 浏览

java - 如何在 Eclipse 插件中的 IProgressMonitor 中精确设置?

该方法org.eclipse.core.runtime.IProgressMonitor.worked(int)接收表示增量的整数。这意味着,唯一可用的单位是自然单位。例如,它不能是百分比。

所以,如果我在作业中处理一些文件,我不能报告计数阶段,因为我应该调用的第一个方法是org.eclipse.core.runtime.IProgressMonitor.beginTask(String, int)需要我知道总量。

如何实现?

更新

我在下面写了一个包装器,但这看起来很荒谬,需要这样做: