Java 将整个JList显示到JTextArea

Java 将整个JList显示到JTextArea,java,string,jlist,defaultlistmodel,Java,String,Jlist,Defaultlistmodel,我目前正在开发一个销售点系统,该系统有一个JList,显示客户购买的所有内容。在结束事务后,我希望将整个列表的内容显示到JTextArea中。我使用以下代码: String s = listModel.toString(); jTextArea.append(s); JTextArea显示一组奇怪的代码,而不是打印列表的内容 我读过与我的问题相关的其他文章,但我读过的所有文章都只提供了打印列表中单个项目的答案,而不是全部。谢谢大家 获取模型并将每个元素附加到JTextArea for (int

我目前正在开发一个销售点系统,该系统有一个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());
}
for(int index=0;index
你可以试试这个

int[] selectedIx = listbox.getSelectedIndices();  
String s = "";
for (int i = 0; i < selectedIx.length; i++) 
{
      s += " " + listbox.getModel().getElementAt(selectedIx[i]);
}
ta.setText(s);
int[]selectedIx=listbox.getselecteddinces();
字符串s=“”;
对于(int i=0;i
我尝试了这段代码,但是jTextArea输出prod2 45.75 javax.swing.JTextField[,989,84,90x……[加上一个很长的文本字符串。]有什么方法可以删除它吗?为什么您的JList中有文本字段?这里的问题是,您应该将组件放入JList中,JList有用于自定义数据的渲染,您应该只将数据放入JList。我所做的是这样的:当客户购买某样东西时,它会显示在JList中。当他结束transaction,他购买的所有产品(w/c在jList中)都会出现在jTextField中(w/c作为收据)。但正如我在第一条评论中提到的,
prod2 45.75
(购买的产品,w/c在jList中之前)会出现,是的,但随之而来的是这个奇怪的代码(
javax.swing.jTextField)[,989,84,90x……
)。有没有办法删除这些代码?不要将
JTextField
添加到
ListModel
中,例如DefaultListModel有.toString()方法定义如下:
公共字符串更多…toString(){return delegate.toString();}
并且委托是
向量委托=新向量()
这意味着在代码中调用
listModel.toString()
时,您将得到
delegate.toString()
返回的内容。可能您的listModel没有定义好的输出打印toString方法。请看一下重写toString()的情况