2013-01-13 32 views
5

任務通過調用updateProgress()來設置其進度,並使像ProgressIndicator這樣的GUI小部件的progressProperty綁定到任務的progressProperty。 但是,這裏的文章還提到了在示例5中調用updateMessage,但該示例不完整。JavaFX任務:updateMessage()寫入哪裏?

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

這是我不清楚哪裏/如何顯示消息,因爲在ProgressIndicator也不進度到其綁定到任何消息屬性。 我看到Task從Worker類繼承消息屬性。 http://docs.oracle.com/javafx/2/api/javafx/concurrent/Task.html

但是GUI將如何獲取它並執行綁定,因爲任務僅對服務可見?

我找不到這樣的工作示例。 在Ensemble示例中,服務示例具有ProgressIndicator,但同樣沒有更新消息。 http://download.oracle.com/otndocs/products/javafx/2.2/samples/Ensemble/index.html

回答

9

我能夠使用myController.service.messageProperty()來訪問任務的messageProperty。

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

請注意,這會覆蓋而不是附加到TextArea。

要執行附加操作,必須將ChangeListener綁定到消息屬性。