我知道標題聽起來令人困惑,這是因爲它。它有點長,所以嘗試也留在我身邊。傳遞數組到構造函數使用JList
這是佈局,我有我的代碼設計
變量 構造 方法。
即時通訊也試圖填寫一個Jlist全名。我也想用一種方法獲得這些名字。所以在這裏。
在我的變量我有我的JList。其名爲contactNames; 我也有一個數組存儲5個字符串,這是聯繫人的名字; 繼承人的代碼無論如何
String contact1;
String contact2;
String contact3;
String contact4;
String contact5;
String[] contactListNames;
JList contactList;
夠簡單。然後在我的構造我有JList的定義與陣列
String[] contactListNames = new String[5];
JList contactList = new JList(contactListNames);
fillContactList();
該方法fillContactList()即將更新了的內容來填充本身。
現在繼承人的東西變得球。 ive創建了三種不同的方法,所有這些方法都沒有奏效。基本上我試圖用所有這些來填充陣列。 這是最簡單的一個。它沒有設置Jlist,它不會做任何事情。所有它trys過於做是一次填充陣列一點
public void fillContactList()
{
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();
}
}
}
不幸的是這不qwork。我得到打印出來填充索引0;我輸入的東西,我得到一個漂亮的大堆棧跟蹤開始
contactListNames[i] = contact;
所以我在短的問題是
爲什麼不能填補我從法陣。
****************************************** * 888 *********************** 888通過要求
堆棧跟蹤信息請填寫列表索引0
overtone
please fill the list at index 1
java.lang.NullPointerException
at project.AdminMessages.fillContactList(AdminMessages.java:410)
at project.AdminMessages.<init>(AdminMessages.java:91)
at project.AdminUser.createAdminMessages(AdminUser.java:32)
at project.AdminUser.<init>(AdminUser.java:18)
at project.AdminUser.main(AdminUser.java:47)
要回答你的第一個問題:是的,你可以傳遞一個數組一個JList的構造。你只需要修正數組的初始化,就像@Jeff在下面提出的那樣。 – Ash 2010-04-23 13:11:07