我只是新学习OOP抱歉这个基本帖子。当我试图获取JComboBox
中所选项目的值时,我不知道为什么它会返回null。
public class AddEmployee extends javax.swing.JInternalFrame{
public AddEmployee()
{
initComponents();
this.setSize(1100,500);
setMonths();
setJComboBoxProperties();
check();
}
private void setMonths()
{
String[] monthsObj = {"January", "February", "March", "April", "May", "June", "July",
"August", "September", "October", "November", "December"};
DefaultComboBoxModel monthsModel = new DefaultComboBoxModel(monthsObj);
cbMonths.setModel((ComboBoxModel)monthsModel);
}
private void setJComboBoxProperties()
{
cbMonths.setSelectedIndex(-1);
}
private String check()
{
String cb = (String)cbMonths.getSelectedItem();
System.out.println(cb);
return cb;
}
}
我投了String cb
所以它不会给我一个空的。但是我试图检查所选项目,但它给了我null。
答案 0 :(得分:2)
初始化Combobox后调用setSelectedItem
。请参阅documentation。
DefaultComboBoxModel monthsModel = new DefaultComboBoxModel(monthsObj);
monthsModel.setSelectedItem('September');
答案 1 :(得分:2)
您正在呼叫cbMonths.setSelectedIndex(-1);
。根据{{3}}。
null
)设置为所选项目
在用户更改选择之前,getSelectedItem()
将始终返回null
。这是正确的,记录在案的行为。