javafx任务“以非零退出值137完成”

时间:2018-12-08 14:05:32

标签: javafx concurrency

正在运行一个无限循环以更新形状对象的值的任务时遇到错误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来轻松处理此类无限循环

0 个答案:

没有答案