次のような SwingWorker クラスがあります。
class RemotePlayersWorker extends SwingWorker<String[][], Object> {
PlayerCanvas parent;
RemoteHandler remote;
String[][] players;
int maximumConnections;
public RemotePlayersWorker(PlayerCanvas parentCanvas, RemoteHandler remoteHandle) {
this.parent = parentCanvas;
this.remote = remoteHandle;
}
@Override
protected String[][] doInBackground() throws Exception {
System.out.println("TEST 1");
players = remote.getConnectedPlayers();
publish(players);
return players;
}
@Override
protected void process(List<String[][]> chunks) {
for (String[][] chunk : chunks) {
// no need for the c variable
System.out.println(chunk.toString());
}
}
@Override
protected void done() {
}
}
しかし、process(List chunks) メソッドをオーバーライドするとエラーが発生します。Eclipseは私にこれを教えてくれます:
The method process(List) of type PlayerHandler.RemotePlayersWorker must override or implement a supertype method
ただし、私が知る限り、メソッドを正しくオーバーライドしています-リストタイプの設定に関係なく、同じエラーが発生します。
process() をオーバーライドできない他の理由はありますか?
Java バージョン「1.7.0_10」を使用しています - Java(TM) SE ランタイム環境 (ビルド 1.7.0_10-b18)