我在OsX 10.12.5上运行java 8.131
使用以下代码
task.setOnSucceeded(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(final WorkerStateEvent event) {
}
});
似乎会导致此错误:https://pastebin.com/GbByfDeY
我到处寻找,似乎找不到修复方法。常见的答案是硬件问题并等待java更新。我发布的是最后一次恢复。提前谢谢。
答案 0 :(得分:1)
一种方法是将InvalidationListener
添加到Task
的stateProperty
。在Mac OS X 10.12.5上使用Java 1.8.0_131-b11测试此example,以下侦听器在控制台上打印SUCCEEDED
。
task.stateProperty().addListener((Observable o) -> {
if (task.getState() == Worker.State.SUCCEEDED) {
System.out.println(task.getState());
}
});
在同一台机器上测试相同的example,以下onSucceeded
处理程序产生相同的结果。
task.setOnSucceeded(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(final WorkerStateEvent event) {
System.out.println(task.getState());
}
});
分段错误的根本原因可能在其他地方。