正在运行一个无限循环以更新形状对象的值的任务时遇到错误137,但是应用程序在我运行时立即冻结
public void start(Stage primaryStage) {
for(int i = 0 ; i < size ; i++) {
boid[i] = new Boids();
boid[i].show();
}
primaryStage.setScene(boidScene);
primaryStage.show();
Task <Void> task = new Task <Void>() {
@Override
public Void call() {
Platform.runLater(() -> {
while(true) {
try {Thread.sleep(100);}catch(Exception e) {}
for(int i = 0 ; i < size ; i++) {
boid[i].update();
}}
});
return null;
}
};
Thread t = new Thread(task);
t.start();
}
最后,当我强制关闭我得到的应用程序时
处理'command'/ usr / lib / jvm / java-8-openjdk-amd64 / bin / java'' 用非零退出值137结束
我对来自于javax和awt背景的javafx没有太多经验,我会创建线程类并调用paintComponent来轻松处理此类无限循环