好的,我正在使用 eclipse 及其 GUI 编辑器,我有一个像这样的字符串:
public static String[] blah = {"Blah", "Blah", "Blah", "Blah"};
和一个像这样的 JComboBox:
JComboBox comboBox = new JComboBox(blah);
comboBox.setBounds(10, 56, 312, 37);
contentPane.add(comboBox);
组合框使用上面的字符串获取其数据,但是当我在组合框中输入“blah”时出现此错误...
Type safety: The constructor JComboBox(Object[]) belongs to the raw type JComboBox. References to generic type JComboBox<E> should be parameterized
如果我运行它,它会起作用,因为它只是一个警告,但它很烦人,因为它不会让我进入设计模式,除非我把它作为评论。设计模式给出了这个错误...
INVALID SOURCE. No Constructor Binding. --- new JComboBox(locations) is not valid source for component creation, it references not existing constructor.
所以我想知道是否有任何其他方法可以解决这个问题
最佳答案
// comboBoxTraceModeSelection = new JComboBox<TraceMode>(TraceMode.values());
comboBoxTraceModeSelection = new JComboBox<TraceMode>();
comboBoxTraceModeSelection.setModel(new DefaultComboBoxModel<TraceMode>
(TraceMode.values()));
这是在 JComboBox 中使用枚举时的解决方法(在 Eclipse 3.7.2 上使用 WindowBuilder for java 6)。是的,它似乎确实与有点不寻常的对象(枚举、字符串等)的 Java 泛型有关。 TraceMode 是自定义枚举。注释掉的行导致与原始海报相同的错误。这是一个 WindowBuilder 问题,而不是 Eclipse 或 Java 问题。
关于java - JComboBox 警告阻止在 Eclipse 中打开设计页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8845139/