Eclipse IDE 在 Jcombobox 上显示错误,表示 JcomboBox 无法参数化,例如:类似于下面显示的行
private final JComboBox<LaborHelper> labourname = new JComboBox<LaborHelper>();
这里我的项目执行环境是javaSE1.6
JComboBox
Java 1.7 之前不支持类型规范(参数化)。因此,在 Java 1.6 或更早版本中会出现编译错误。
查看JComboxBox 的 java 1.6 文档,该类JComboxBox
不是 Java 1.6 的泛型类。
它接受一个数组或一个对象向量作为用户的选择,并通过调用对象的 toString 方法来显示它们(因此,如果要自定义标签,则必须覆盖它)。
要访问用户选择的值,您必须按如下方式转换所选项目:
(LaborHelper)labourname.field.getSelectedItem()
但是,这应该适用于 java 1.7+,因为它JComboxBox
已成为泛型类。
- JComboxBox
随着Java 7 的到来支持 withType Parameters
,在此之前它不支持类型参数。
请参阅此链接:
即使在 Java 7 中,也存在一个未解决的错误:JDK-7067201 : Generics: BasicComboBoxRenderer
然后在 Eclipse (Kepler) 中似乎有一个错误:我选择了 JRE 1.6、JDK 1.6、编译器合规级别 1.6,但是在使用带有类型参数的 JComboBox 时 Eclipse 没有显示任何错误。很奇怪。