Привет. был занятым отладчиком сегодня.
Я дам эту короткую версию.
Я создал список массивов, который берет имена из базы данных.
затем я помещаю содержимое массива в массив строк.
теперь я тоже хочу отобразить содержимое массивов в JList.
странная вещь, это работало раньше. и у меня есть два метода. некоторые просто немного потренировались, чтобы убедиться, что я правильно добавил в Jlist. так вот коды клавиш.
это макет моего кода.
переменные
конструктор
методы
в моих переменных у меня есть эти 3 определенные
String[] contactListNames = new String[5];
ArrayList<String> rowNames = new ArrayList<String>();
JList contactList = new JList(contactListNames);
достаточно просто.
в моем конструкторе они у меня снова.
contactListNames = new String[5];
contactList = new JList(contactListNames);
//i dont have the array list defined though.
printSqlDetails();
// the prinSqldetails was too make sure that the connectionw as alright. and its working fine.
fillContactList();
// this is the one thats causing me grief. its where all the work happens.
// fillContactListTest();
// this was the tester that makes sure its adding to the list alright.
вот код для fillContactListTest ()
public void fillContactListTest()
{
for(int i = 0;i<3;i++)
{
try
{
String contact;
System.out.println(" please fill the list at index "+ i);
Scanner in = new Scanner(System.in);
contact = in.next();
contactListNames[i] = contact;
in.nextLine();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
вот главный, который тоже должен работать.
public void fillContactList()
{
int i =0;
createConnection();
ArrayList<String> rowNames = new ArrayList<String>();
try
{
Statement stmt = conn.createStatement();
ResultSet namesList = stmt.executeQuery("SELECT name FROM Users");
try
{
while (namesList.next())
{
rowNames.add(namesList.getString(1));
contactListNames =(String[])rowNames.toArray(new String[rowNames.size()]);
// this used to print out contents of array list
// System.out.println("" + rowNames);
while(i<contactListNames.length)
{
System.out.println(" " + contactListNames[i]);
i++;
}
}
}
catch(SQLException q)
{
q.printStackTrace();
}
conn.commit();
stmt.close();
conn.close();
}
catch(SQLException e)
{
e.printStackTrace();
}
}
Мне действительно нужна помощь здесь. я в моем уме. я просто не могу понять, почему первый метод добавил бы к JList без проблем. но второй не будет.
и массив contactListNames, и список массивов могут печатать нормально и иметь имена в них. но я, должно быть, переношу их тоже неправильно. пожалуйста помогите
p. Я знаю, что это долго. но поверьте мне, это короткая версия.