我有一個對象數組。這些對象很簡單,只有兩個字符串。我有一個toString()方法,它只返回其中一個字符串。如何從一個對象數組中創建一個GUI列表?
我需要採取該對象的數組,並使其成爲一個可見的GUI列表,以便用戶可以選擇其中之一。
在主要我採取一個長字符串,並將其發送給一個方法,解析它並返回一個我的對象數組。然後,我創建一個新的JList,將其添加並使其可見:
JList list = new JList(objects);
list.setVisible(true);
add(list);
但是,沒有顯示任何內容。此時我已經在屏幕上顯示了一個GUI。實際上,上面代碼包含的類擴展了JPanel。我不確定爲什麼我沒有看到任何東西,所以我認爲我做錯了什麼。
編輯* *
好了,所以我的問題是,我沒有設定一個模型。但是,設置模型後,我仍然沒有得到任何結果。繼承人代碼即時通訊使用:
ScratchItem[] items = listPlaylists(line2);
DefaultListModel newListModel = new DefaultListModel();
for(ScratchItem item : items) {
newListModel.addElement(item);
}
JList list = new JList();
list.setModel(newListModel);
list.setVisible(true);
add(list, BorderLayout.SOUTH);
invalidate();
你需要使jpanel無效,所以它被取消 –
我添加了代碼行 invalidate() 添加列表後,沒有發生什麼不同。 – TyP
通常'revalidate();重繪();'爲我工作。 – wchargin