我试图创建一个按钮,将项目从一个列表转移到另一个列表。当处理程序调用函数以从列表中标识所选项时,它不返回导致程序抛出空指针异常的值。我无法弄清楚为什么没有人有任何想法?
控制器内部
private class AddHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {
if(totalcredits<=120){
**Module tmp = selectorPnl.getUnselectedModule();**
selectorPnl.addtoSM(tmp);
selectorPnl.rmvUSM(tmp);
totalcredits = totalcredits+tmp.getCredits();
}
else
JOptionPane.showMessageDialog(null, "Exceeds credit allowance", "Selector Error", JOptionPane.ERROR_MESSAGE);
}
}
小组
public Module getUnselectedModule()
{
return lstUnselectedModule.getSelectedValue();
}
public void addtoSM(Module list)
{
SM.addElement(list);
}
public void rmvUSM(Module list)
{
USM.removeElement(list);
}
编辑:只需关闭我的电脑然后再打开。现在工作正常。这意味着我更不知道为什么它不在之前
答案 0 :(得分:0)
确保lstUnselectedModule
已在您的面板中实例化,但.getSelectedValue()
导致该方法返回我认为不是模块的内容。只需让它返回lstUnselectedModule
。