从事学校项目。我的程序为jcombobox提供了一个动作侦听器,一旦我点击了Submit,便将其清除并隐藏。那就是当它说空指针时,即使我没有使用它,也没有在清除它后单击它。而且,它只会在我第一次清除它时发生。
JComboBox sidComboBox = new JComboBox();
sidComboBox.setFont(new Font("Lantinghei TC", Font.PLAIN, 15));
sidComboBox.setBounds(139, 127, 222, 27);
contentPane.add(sidComboBox);
btnSubmit.addActionListener (new ActionListener () //adding action listener to the button component and creating a specific action performed method (override) for the button
{
public void actionPerformed (ActionEvent e)
{
if (btnSelect == 5)
{
sidComboBox.setEnabled(false);
sidComboBox.setVisible(false);
fnComboBox.setEnabled(false);
lnComboBox.setEnabled(false);
pnComboBox.setEnabled(false);
fnComboBox.setVisible(false);
lnComboBox.setVisible(false);
pnComboBox.setVisible(false);
}
btnAdd.setEnabled(true);
btnEdit.setEnabled(true);
btnDelete.setEnabled(true);
btnSearch.setEnabled(true);
btnViewAll.setEnabled(true);
TAFirstName.setVisible(false);
TALastName.setVisible(false);
TAStudentID.setVisible(false);
TAPhoneNumber.setVisible(false);
lblFirstName.setVisible(false);
lblLastName.setVisible(false);
lblPhoneNumber.setVisible(false);
lblStudentId.setVisible(false);
btnSubmit.setVisible(false);
btnSubmit.setEnabled(false);
btnEditor.setVisible(false);
btnEditor.setEnabled(false);
TAFirstName.setEditable(false);
TALastName.setEditable(false);
TAStudentID.setEditable(false);
TAPhoneNumber.setEditable(false);
TAFirstName.setText(null);
TALastName.setText(null);
TAStudentID.setText(null);
TAPhoneNumber.setText(null);
sidComboBox.setVisible(false);
sidComboBox.setEnabled(false);
sidComboBox.removeAllItems();
fnComboBox.setVisible(false);
fnComboBox.setEnabled(false);
fnComboBox.removeAllItems();
lnComboBox.setVisible(false);
lnComboBox.setEnabled(false);
lnComboBox.removeAllItems();
pnComboBox.setVisible(false);
pnComboBox.setEnabled(false);
pnComboBox.removeAllItems();
btnSelect = 0;
}
}
);
sidComboBox.addActionListener (new ActionListener () //adding action listener to the button component and creating a specific action performed method (override) for the button
{
public void actionPerformed (ActionEvent e)
{
int check = db.getNum() - 1;
if (check == -1) {
}
else {
int studentID = (int) sidComboBox.getSelectedItem();
int num = db.getNum();
for (int b1 = 0; b1 < num; b1++)
{
int nom = (db.studentList[b1].getStudentID());
if (studentID == nom)
{
fnComboBox.setSelectedItem((db.studentList[b1]).getFirstName());
lnComboBox.setSelectedItem((db.studentList[b1]).getLastName());
pnComboBox.setSelectedItem((db.studentList[b1]).getPhoneNumber());
break;
}
}
}
}
}
);
该错误专门在此行发生,不是在我使用它时发生,而是在我按下“提交”按钮时发生。
int studentID = (int) sidComboBox.getSelectedItem();
我知道它为空,但是当它为空时,我没有在盒子上打电话。那么为什么告诉我它为null?