Я пытаюсь создать кнопку для переноса элемента из одного списка в другой. Когда обработчик вызывает функцию для идентификации выбранного элемента из списка, он не возвращает значение, которое заставляет программу выбрасывать исключение нулевого указателя. Я не могу понять, почему это не работает, у кого-нибудь есть идеи?Java получает выбранное значение, не возвращающее правильное значение
Внутри контроллера
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);
}
Edit: просто нужно было включить компьютер и включите его снова. Сейчас работает отлично. Это означает, что я еще больше потерял, почему это было не раньше
'getSelectedValue()' возвращает значение null, если нет выбранного значения. Таким образом, либо вы ничего не выбрали, либо вы выбрали единство в другом JList. Если вы хотите переместить что-то из одного списка в другой, почему вы получаете выбранное значение lstUnselectedModule, но удаляете его из USM? –
Я нажал на элемент в списке, и я попробовал все разные списки. –
Попытка случайных вещей не заставит вас далеко ходить. Если вам нужна помощь, напишите полный минимальный пример, воспроизводящий проблему. –