我目前正在開發一個銷售點系統,該系統具有顯示客戶購買的所有內容的JList。結束事務後,我想將整個列表的內容顯示到JTextArea中。我使用以下代碼:將整個JList顯示到JTextArea
String s = listModel.toString();
jTextArea.append(s);
JTextArea顯示奇怪的一組代碼,而不是打印列表的內容。
我已閱讀有關我的問題的其他文章,但我已閱讀所有文章只提供答案從列表打印單項但不是所有。謝謝大家!
我目前正在開發一個銷售點系統,該系統具有顯示客戶購買的所有內容的JList。結束事務後,我想將整個列表的內容顯示到JTextArea中。我使用以下代碼:將整個JList顯示到JTextArea
String s = listModel.toString();
jTextArea.append(s);
JTextArea顯示奇怪的一組代碼,而不是打印列表的內容。
我已閱讀有關我的問題的其他文章,但我已閱讀所有文章只提供答案從列表打印單項但不是所有。謝謝大家!
採取模型和每個元素附加到JTextArea
for (int index = 0; index < listModel.getSize(); index++) {
jTextArea.append(model.getElementAt(index).toString());
}
我試過這個代碼,但jTextArea輸出 prod2 45.75 javax.swing.JTextField [,989,84 ,90x ...... [加上很長的一串文字。] 有什麼辦法可以刪除它嗎? –
爲什麼JList中有文本字段? – MadProgrammer
這裏的東西,你應該在你的組件JList中,JList已經呈現了用於定製數據,你應該只是把數據放入JList – MadProgrammer
您可以嘗試這一個,
int[] selectedIx = listbox.getSelectedIndices();
String s = "";
for (int i = 0; i < selectedIx.length; i++)
{
s += " " + listbox.getModel().getElementAt(selectedIx[i]);
}
ta.setText(s);
例如DefaultListModel已的ToString()方法定義如下:'公共字符串更多... toString(){ return delegate.toString();代表''代表''代表''Vector delegate = new Vector ();'這意味着當在代碼中調用'listModel.toString()'時,您將獲得'delegate.toString()'返回的內容。可能你的listModel沒有很好的輸出打印toString方法定義。看看**覆蓋toString()** http://stackoverflow.com/a/10734148/1737819 –
Willmore