问题标签 [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 投票
2 回答
229 浏览

java - Socket 编程中的 ProgressMonitorInputStream

我有一个套接字连接的客户端和服务器。我尝试将 progressMonitorInputStream() 实现到服务器,数据传输完美,但进度监视器不可见。我尝试实现它以仅从一侧读取文件,进度监视器工作正常。下面是两个代码

服务器:

上面的代码是有问题的。工作代码如下:

一侧带有文件输入流的正确工作代码

我无法弄清楚为什么进度监视器显示在 FileInputStream 程序中而不是套接字程序中。有任何想法吗?

0 投票
1 回答
304 浏览

java - ProgressMonitor 和 SwingWorker 不工作

我有一个 SwingWorker 的问题。应用程序在客户端和服务器之间发送文件,但在传输过程中不会向我显示进度监视器。你能告诉我我做错了什么,我该怎么办?

两个应用程序的主类是相同的:

客户:

服务器:

除了 SwingWorker,我在下面的代码中遇到了问题。这是我的服务器应用程序没有 SwingWorker 的第二个版本。在这里,progressmonitor 会在传输过程中向我显示进度,但从来没有。我在 run() 方法中使用了 invokeLater,但有时进度监视器不起作用。你能告诉我我做错了什么吗?

服务器:

0 投票
1 回答
214 浏览

java - 即使在增加最大值之后,ProgressMonitor 也始终以 100 结束

当我处理一些数据库表时,我有一个ProgressMonitor显示。一开始不知道表的数量,所以我创建ProgressMonitor了最大值为 100 的表。

一旦在SwingWorker线程中开始处理,它就会获取表数并将最大值设置ProgressMonitor为表数(在我的测试中约为 530)。但是,ProgressMonitor即使最大值增加并且进度条准确显示 100/530,仍然会在 100 处结束并停止线程的执行。

知道为什么会这样吗?

从按钮按下actionListener启动ProgressMonitorSwingWorker(名为TaskThread):

PropertyChangeListener更新ProgressMonitor

SwingWorker班级:

0 投票
1 回答
47 浏览

java - 远程获取通知以更新进度监视器

我有一个包含服务器和前端部分的复杂应用程序。

我正在尝试在前端部分根据服务器部分中发生的操作更新进度监视器。服务器部分的操作是从前端远程调用的。但我无法实时获取通知以更新显示器。

我的代码结构有点像这样:

我的意图是从服务器端向前端发送通知,以便每次完成字符串时都会更新进度监视器。

这就是我包含状态方法的原因:从前端询问状态是什么,在一个单独的线程中运行,理论上,与另一个方法(serverMethod)同时运行,然后重置状态。像这样的东西:

但它们不会同时运行。每次完成列表中的字符串时如何获取状态,以便更新进度监视器?

0 投票
1 回答
208 浏览

java - ProgressMonitorDialog 和用户交互

我正在使用 aProgressMonitorDialogIRunnableWithProgress后台读取文件。

如果在此文件处理过程中发生错误(数据不是我所期望的),我想询问用户是否要继续下一行。

现在的问题是,为了询问用户是否要继续,我必须显示一个对话框。显示来自非 UI 线程的对话框涉及使用Display.asyncExec()Display.syncExec()。为了将结果(用户决定)返回给后台线程,我必须使用回调。

现在,问题是,当我在后台线程的回调中得到结果时,我怎样才能继续读取文件?或者,换句话说,我怎样才能暂停后台线程的执行,直到反馈返回,然后继续它?

我愿意接受建议,并愿意重组我的环境以适应这种行为。

0 投票
1 回答
94 浏览

java - 将文件从文件系统复制到项目并正确管理进度监视器

我正在尝试根据我的需要修改答案并使进度监视器正确反映进度。到目前为止我的方法:

如您所见,我有 3 个用于删除操作的滴答声和 2 个用于设置类路径的滴答声。这是源文件夹中文件的 5 加计数,如果我说:每个文件或文件夹 1 记号。现在我的方法有问题copyFiles。我修改了相关代码以使用IProgressMonitor

一旦create(...)调用其中一种方法( onIFile或 on IFolder),进度条应移动 1 个刻度。但它根本不动。可能是什么原因以及如何解决问题?

upd:我将方法修改configureProject如下:

现在的问题是,在调用create()( onIFolder或 on IFile)之后,进度条设置为 2/3 - 2 个刻度。2/3 是为整个configureProject()方法指定的,最后 2 个刻度将由setRawClasspath(...)尚未完成。

前:

在此处输入图像描述

后:

在此处输入图像描述

0 投票
2 回答
3544 浏览

java - 如何使用 ProgressMonitorInputStream

我知道我一定遗漏了一些非常明显的东西,但是每当我在复制文件时尝试使用 ProgressMonitorInputStream 时,我永远不会得到 ProgressDialog 弹出窗口。

我看到的示例除了将它们的输入流包装在 ProgressMonitorInputStream 中之外似乎没有做太多事情。

文档说:

这将创建一个进度监视器来监视读取输入流的进度。如果需要一段时间,会弹出一个 ProgressDialog 来通知用户。如果用户点击 Cancel 按钮,则会在下一次读取时抛出 InterruptedIOException。当流关闭时,所有正确的清理工作都完成了。

setMillisToPopup()这是我放在一起的一个非常简单的示例,即使我的数字非常小,它也不会弹出带有大文件的对话框。

有什么建议么?

0 投票
1 回答
494 浏览

java - Progressmonitor 不显示在 JavaSwing 中

我正在创建一个简单的用户界面,用户可以单击一个按钮来运行特定的 Java 类。单击后,应向用户显示任务的进度,并为用户提供一个取消按钮,以在任务运行时的任何时间点终止任务。

在这种情况下,当用户单击 UI 中的 JButton 时,我将使用 ProgressMonitor 来显示,从而调用包含可运行线程的 runEngineerBuild() 来执行另一个 Java 类(称为 EngineerBuild.java)的方法。但是,ProgressMonitor 对话框不会显示。如何让 ProgressDialog 显示?我想知道这是否是因为多个运行线程的性质,或者我错过了一些东西。非常感谢您的帮助!

在 SecondPanel.java 中:

如果您有兴趣,这是原始 ProgressMonitor 代码的链接:

用户界面编程 - 示例 1-11 ProgressMonitorTest.java

0 投票
1 回答
80 浏览

java - 进度监视器:进度间隔

如下代码所示,我有 4 个函数,我手动设置进度监视器的每个进度间隔 = 25%。

但是,如果我有 20 个或更多功能,我的方法手动设置进度间隔将更加不切实际。

在给定 X 个函数的情况下,设置进度间隔的更好方法是什么?

0 投票
1 回答
85 浏览

java - 输出发生在进度监视器弹出之前

我正在学习通过以下链接为我的程序构建进度监视器 http://www.java2s.com/Tutorial/Java/0240__Swing/ProgressMonitorandSwingworker.htm

我意识到我的程序在弹出进度监视器之前在控制台上打印了 1-12,如下面的屏幕截图所示。

在此处输入图像描述

完成后它将打印 2x(1-16) 。

在此处输入图像描述

我如何纠正我上面提到的问题?