2012-10-14 41 views
3

当我尝试编译一些代码,我不断收到这些错误:类型的JList不带参数类型<String>

CCC.java:21: type javax.swing.JList does not take parameters 
JList<String> list; 

或:

CCC.java:30: type javax.swing.DefaultListModel does not take parameters 
DefaultListModel<String> jobs, DefaultListModel<String> closJ) throws HeadlessException { 

我有同样的错误26,当我尝试删除我得到约150行错误任何人都可以帮助请求的部分。

+3

可能有一个稍微深一点的问题 - 你为什么要使用这些类作为通用的,尽管它们不是? – Makoto

+0

您可能想要升级您的Java http://docs.oracle.com/javase/7/docs/api/javax/swing/JList.html –

+0

听起来好像您使用Java 6编译器或让编译器设置为生成Java 6(或以下)字节码 – MadProgrammer

回答

3

假设你使用的是Java 1.6

DefaultListModel没有泛型类,你不能用通过传递具体参数,同为JList也实例化。

只要改变你的代码,如:

JList list; 

DefaultListModel jobs 
6

泛型是在Java 7中添加的JList下面是来自JList documentation一个例子:

String[] data = {"one", "two", "three", "four"}; 
JList<String> myList = new JList<String>(data); 

确保你正在使用Java 7+。