6

一个任务通过调用 updateProgress() 来设置它的进度,并让一个 GUI 小部件(如 ProgressIndicator)将它的 progressProperty 绑定到任务的 progressProperty。但是,这里的文章在示例 5 中也提到了调用 updateMessage,但示例不完整。

http://docs.oracle.com/javafx/2/threads/jfxpub-threads.htm

我不清楚消息的显示位置/方式,因为 ProgressIndicator 和 ProgressBar 中没有消息属性可以将其绑定到。我看到 Task 从 Worker 类继承消息属性。http://docs.oracle.com/javafx/2/api/javafx/concurrent/Task.html

但是 GUI 将如何获取它并执行绑定,因为 Task 仅对 Service 可见?

我找不到这方面的工作示例。在 Ensemble 示例中,Service 示例有一个 ProgressIndicator,但同样没有更新任何消息。 http://download.oracle.com/otndocs/products/javafx/2.2/samples/Ensemble/index.html

4

1 回答 1

10

我可以使用 myController.service.messageProperty() 来访问 Task 的 messageProperty。

 myTextArea.textProperty().bind(myController.myService.messageProperty());

请注意,这会覆盖而不是附加到 TextArea。

要进行追加,必须改为将 ChangeListener 绑定到消息属性。

于 2013-01-13T05:00:32.333 回答