嘿。今天是一個繁忙的調試器。 生病給你短版。陣列沒有顯示在Jlist中,但在控制檯中填寫
我做了一個數組列表,它從數據庫中獲取名字。 然後我把arraylist的內容放入一個字符串數組中。 現在我想要在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數組和列表都可以正確打印並在其中包含名稱。但我也必須轉移他們,jlist錯誤。請幫忙
我知道這很長。但請相信我的簡短版本。
nb我得到同樣的問題,當我把數組列表直接到JList。仍然不顯示 – OVERTONE 2010-04-23 17:18:40