将整个JList显示到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