У меня проблемы с классом JList. Я получаю данные из вектора для заполнения JList, и список выглядит нормально, когда я показываю их на экране. Список содержит имена таблиц, а выбранная является таблицей для отображения. Таким образом, структура проекта основана на getSelectedValue () списка. Когда я в первый раз запустил программу, getSelectedValue вернул значение null, поэтому я попытался изменить его самостоятельно с помощью setSelectedValue («Alumnos», true), и я получил следующее:
Исключение в потоке "main" java.lang.NullPointerException
at interfaz.DataBaseManagerJList.setSelectedValue (DataBaseManagerJList.java:53)
Это не имеет смысла, поскольку Alumnos находится в списке, когда я отображаю его на экране. Вот код класса JList:
public class DataBaseManagerJList extends JPanel
{
private static final long serialVersionUID = 1L;
private static JList tablas;
DefaultListModel model;
DatabaseTableManagers dtm = DatabaseTableManagers.getInstance();
private static DataBaseManagerJList instance = null;
public static DataBaseManagerJList getInstance()
{
if (instance == null)
{
instance = new DataBaseManagerJList();
}
return instance;
}
public DataBaseManagerJList()
{
model = new DefaultListModel();
ArrayList<String> aux = new ArrayList<String>(dtm.getTableNames());
for(int i =0;i<aux.size();i++)
{
model.addElement(aux.get(i));
System.out.println(aux.get(i));
}
JList tablas = new JList(model);
//tablas.setSelectedValue("Alumnos",true);
add(tablas);
}
public String devolver()
{
return (String) tablas.getSelectedValue();
}
public void setSelectedValue(String name)
{
tablas.setSelectedValue(name, true);
}
}
Есть идеи? Спасибо всем:)