我做在按下启动按钮,当我读到的问题和产生的解决方案JavaFX应用程序。问题是,当我点击开始按钮时,GUI挂起。我看了this post,它建议在Platform.Runlater中包装线程安全的方法。现在如何使JavaFX的线程安全Platform.runLater
单击该按钮时,在我的控制器方法doBtnStartPressed()被调用。此方法只包含对showSolution()方法的调用。然后,我裹这种方法在Platform.runLater内容如下:
private void showSolution() {
Platform.runLater(new Runnable() {
public void run() {
// solve problem
// draw solution on panes (rectangles which represent time windows)
}
});
}
然而,这是行不通的。
你引用的帖子中写道:(正确地)到“使用'PlatForm.RunLater'快速和简单的操作和'Task'复杂和大型化经营NS”。你将需要并发框架('Task',也许更多)。有关介绍,请参阅[这里](http://docs.oracle.com/javase/8/javafx/interoperability-tutorial/concurrency.htm)。 – 2014-10-22 08:19:27
谢谢,我也尝试在任务之后包装showSolution()方法的内容,然后我调用新线程(task).start();然而,这不会抛出任何异常,但在窗格上没有绘制任何内容。我相信任务正在开始。 – thomasvdbossche 2014-10-22 08:32:19