我正在使用Eclipse,使用Java進行編程。問題:ArrayList to JList - 多個對象元素
這是我要顯示我的JList:
1 - Dante
2 - William
3 - Jaime
etc...
現在,數字對象的ID和名稱,以及,名稱。
ArrayList被命名爲TraitList。
這是我所得到的,當我把那個作爲「模式」在JList中從窗口生成器在Eclipse屬性:
TraitL.setModel(new AbstractListModel() {
String [] values = new String[] {"1 - Dante", "2 - William", "3 - Jaime"};
public int getSize() {
return values.length;
}
public Object getElementAt(int index) {
return values[index];
}
});
因此,我改變它:
TraitL.setModel(new AbstractListModel() {
String [] values = new String [];
for (int jln = 0; jln < TraitList.size(); jln++){
values [jln] = (TraitList.get(jln).id + " - " + TraitList.get(jln).Name);
}
public int getSize() {
return values.length;
}
public Object getElementAt(int index) {
return values[index];
}
});
它沒有工作。我已經嘗試了幾十個變種。沒有工作。那麼,如何讓這個列表顯示一個對象的多個元素?我不在乎它是否是DefaultListModel或AbstractListModel,或者甚至是ListModel。 在此先感謝。
獎金的問題: 如何讓我點擊此列表中的元素的「的actionPerformed」,所以有事點擊後?
如果你真的說出了什麼錯誤,這個問題會更容易回答。無論如何,問題的一個可能的來源(除Guilherme的答案中提到的錯誤之外)是'id'和'Name'是否是TraitList列表中類的公共字段。如果他們不是,那麼你可能需要使用他們的獲得者來檢索他們。如果他們是,你應該閱讀封裝。 –
Guilherme對這個問題的建議添加了錯誤作爲圖像的錯誤。 此外,我還沒有給出Trait類中字段的公共或私有分類,所以我猜它們是公開的。我會讀封裝。很久以前就讀過,不記得清楚。 – Werneck