JavaFX:停止任务

JavaFX:停止任务,java,multithreading,javafx,task,Java,Multithreading,Javafx,Task,我正在制作一个运行minecraft的程序,我遇到了一个问题——当用户单击按钮时,我需要停止任务 这是我的密码: public void onStart(ActionEvent actionEvent) { Task<Void> task = new Task<Void>() { @Override protected Void call() { RunMinecraft.runMinecraft(null)

我正在制作一个运行minecraft的程序,我遇到了一个问题——当用户单击按钮时,我需要停止任务

这是我的密码:

public void onStart(ActionEvent actionEvent) {
    Task<Void> task = new Task<Void>() {
        @Override
        protected Void call() {
            RunMinecraft.runMinecraft(null);
            return null;
        }

    };

    new Thread(task).start();
}
我还尝试创建一个新的布尔变量,并在每个进程之后在runMinecraft方法中检查它,如果这个(boolean==false),我就停止该方法。但这种情况并不好

我也试过这个代码:但我的任务没有停止


提前感谢。

取消任务还将在其运行的线程上设置中断状态。因此,如果您的
runMinecraft(…)
方法能够优雅地处理中断,那么您的取消应该可以工作。请注意,通过设置和轮询标志来停止线程不会让任务进入
取消
状态;如果您想使用
javafx.concurrent
API的这一部分,取消/中断可能是一种更好的方法。
public class RunMinecraft {

    public static void runMinecraft(String server) {

        //Here processes:
        //Auth user
        //Check all files
        //Download all needed files
        //Run Game

    }
}