Javaのプログラミングで、いつも通りにリストを使用したのに、下記のようなエラーとなることがあります。
これは、リストとして、java.util.Listではなく、java.awt.Listを使ってしまっていることが原因です。
java.awt.Listとは何か?
JavaでGUIを作る際に使用する Abstract Windows Toolkit のGUI部品で、いわゆるリストボックスです。Javaのコレクションのリストではありません。
画面
ソース
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.List;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class AwtEx {
AwtEx(){
List awtList = new List();
awtList.add("item01");
awtList.add("item02");
awtList.add("item03");
Frame frame = new Frame();
frame.add(awtList);
frame.setSize(200, 200);
frame.setLayout(new FlowLayout());
frame.setVisible(true);
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
frame.dispose();
}
});
}
public static void main(String[] args) {
new AwtEx();
}
}
対応方法
java.awtを使わないようにすればいいですが、下記リンクのようにjava.awtが出ないように、開発環境に設定するとより楽かと思います。