SwingWorker方法process()显示错误

时间:2013-08-28 01:42:13

标签: java multithreading swing concurrency swingworker

我正在尝试学习SwingWorker但遇到以下错误。我不知道如何解决这个问题。错误显示在代码的注释部分中。 包学习工作者;

import java.awt.List;
import java.util.ArrayList;
import javax.swing.SwingWorker;

public class Try extends SwingWorker<ArrayList<Integer>, Integer>{

   @Override
    protected ArrayList<Integer> doInBackground() throws Exception {
        ArrayList<Integer> primeNumbers = new ArrayList<Integer>();
        Integer i=4;
        boolean divisibleYet = false;
        while(true){

        for(Integer k=2;k<=(i/2);k++){
                if(i%k==0){
                    divisibleYet=true;
                }

        }
                if(!divisibleYet){
                    publish(i);
                }
        i++;
        divisibleYet=false;
        }
    }

    @Override         // Shows ERROR ::: Method does not Override or Implement a method from a supertype.
    protected void process(List<Integer>  chunks){  // Shows ERROR ::: Type List does not take parameters.

    }
}

1 个答案:

答案 0 :(得分:4)

您正在导入java.awt.List;而不是java.util.List ...

如果您同时使用两者,那么我很担心,但是,您使用完全限定的类名来区分这两者......

protected void process(java.util.List<Integer>  chunks)