Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SwingWorker没有完成_Java_Swing_Swingworker - Fatal编程技术网

Java SwingWorker没有完成

Java SwingWorker没有完成,java,swing,swingworker,Java,Swing,Swingworker,我最近一直在使用一些Swingworker,并且遇到了一些问题,所以我尝试创建一个SCSSE,但这显然不起作用 static SwingWorker worker; public static void main(String[] args) { worker = new SwingWorker<Object, Object>() { protected Object doInBackground() throws Exception {

我最近一直在使用一些Swingworker,并且遇到了一些问题,所以我尝试创建一个SCSSE,但这显然不起作用

static SwingWorker worker;
public static void main(String[] args) {
    worker = new SwingWorker<Object, Object>() {
        protected Object doInBackground() throws Exception {
            return "Hello";
        }
        protected void done() {
            System.out.println("I'm done!");
        };
    };
    System.out.println("working");
    try {
        System.out.println("result: " + worker.get());
    } catch (InterruptedException | ExecutionException e) {
        e.printStackTrace();
    }
    System.out.println("working finished");
}
静态SwingWorker-worker;
公共静态void main(字符串[]args){
工人=新的SwingWorker(){
受保护对象doInBackground()引发异常{
回复“你好”;
}
受保护的void done(){
System.out.println(“我完成了!”);
};
};
系统输出打印(“工作”);
试一试{
System.out.println(“结果:+worker.get());
}捕获(中断异常|执行异常e){
e、 printStackTrace();
}
System.out.println(“工作完成”);
}

执行此操作时,它会打印“working”,然后脚本会无限期地继续运行…

您永远不会启动
SwingWorker
,因此
worker.get()
方法在等待worker完成时会被阻塞

您可以通过添加以下内容来验证这一点:

System.out.println("waiting for result");
System.out.println("result: " + worker.get());
如果希望执行
SwingWorker
,则需要调用:

worker.execute() 

创建了
SwingWorker

哦,哇,这是个愚蠢的错误。我想如果它还没有被调用,它会被自动调用。