2010-08-20 70 views
-1

OK,所以我試圖讓所選的JList的價值,我嘗試閱讀the API ...我使用的是DefaultListModule存儲什麼在我的JList ...爪哇 - 獲得defaultlistmodule的設定值

public DefaultListModel model = new DefaultListModel(); 

和一個JList

public JList list; 

,這裏是我怎麼加:

model.addElement("Testing for this example"); 

和這裏是哪裏我得到NullPointerException異常:

Object dropped = model.getElementAt(list.getSelectedIndex()); 

,這裏是我如何建立我的jList

list = new JList(model); 
    list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); 
    list.addMouseListener(this); 

回答

3

如果你得到一個NullPointerException兩個模型或列表爲空。由於您對模型進行了初始化,我猜測您並未初始化列表本身。

public JList list = new JList(model); 

還要確保getSelectedIndex不返回-1。

+0

哎呀,我忘了補充說我已經有了。 – nn2 2010-08-20 21:44:43

+0

哦,我知道爲什麼!這是因爲我從列表中刪除它然後我得到的名稱,所以我得到NULL! :D – nn2 2010-08-20 21:50:16

+0

如果你這樣做了,你不可能在這一行上得到一個NPE:model.getElementAt(list.getSelectedIndex());. getElementAt只拋出ArrayIndexOutOfBoundsException,getSelectedIndex不拋出。請發佈異常的堆棧跟蹤。哦。沒關係。 – 2010-08-20 21:51:03