for (int i = 1; i <= 100; ++i) {
ageList.add(i);
}
DefaultComboBoxModel<Integer> modelAge = new DefaultComboBoxModel<Integer>();
for (Integer i : ageList) {
modelAge.addElement(i);
}
JComboBox<Integer> ageEntries = new JComboBox<Integer>();
ageEntries.setModel(modelAge);
ageEntries.addItemListener(new ageListener());
class ageListener implements ItemListener{
public void itemStateChanged(ItemEvent event) {
if (event.getStateChange() == ItemEvent.SELECTED) {
System.out.println("Selected:" + ItemEvent.SELECTED);
}
}
}
问题:当我选择一个年龄时,无论我选择的年龄如何,它都打印出1。例如,如果我选择数字7,则打印出1.如果我选择56,则打印出1.任何想法?我很难过。打印错误的东西
首先这将在事件方法中正确吗?当我这样做时,我得到一个错误:JComboBox是一个原始类型。参考通用类型JComboBox应参数化 –
Maydayfluffy
2012-03-14 06:43:09
@Maydayfluffy:请参阅上面的编辑... – 2012-03-14 07:01:17
现在((JComboBox)event.getSource())加下划线。错误:类型安全:未选中从对象转换为JComboBox中 –
Maydayfluffy
2012-03-14 07:07:56