Eclipse IDE在Jcombobox上显示错误,该错误表明JcomboBox不能被参数化,例如:如下所示的行
private final JComboBox<LaborHelper> labourname = new JComboBox<LaborHelper>();
这里我的项目执行环境是javaSE1.6
查看java 1.6 documentation for JComboxBox,类JComboxBox
不是Java 1.6的泛型类。
它将对象的数组或向量作为用户的选择,并通过调用对象的toString方法显示它们(因此,如果要自定义标签,则必须覆盖它)。
要访问用户选择的值,您必须按如下方式强制转换所选项:(LaborHelper)labourname.field.getSelectedItem()
然而,this should work with java 1.7+作为JComboxBox
成为一个普通类。
JComboBox
在Java 1.7之前不支持类型规范(参数化)。因此,您将在Java 1.6或更早版本中遇到编译错误。
- Java 7的到来支持JComboxBox
和Type Parameters
,之前它不支持类型参数。
看到这个链接:
JComboBox Warning preventing opening the design page in eclipse
即使在Java 7中,也有一个开放的bug:JDK-7067201 : Generics: BasicComboBoxRenderer
然后Eclipse中似乎存在一个错误(Kepler):我选择了JRE 1.6,JDK 1.6,编译器合规级别1.6,但是当使用带有类型参数的JComboBox时,Eclipse没有显示任何错误。很奇怪。