Java 带有自定义类的ArrayList到jList

Java 带有自定义类的ArrayList到jList,java,swing,netbeans,arraylist,Java,Swing,Netbeans,Arraylist,我有子元素的ArrayList,并有一些属性(全名(字符串)、年龄(int)、父元素id(int)、id(int))。 我正在使用netbeans设计视图创建JFrame(对我来说定位元素更容易) 在这个JFRAME中,我有一个jList,我可以在jList中设置ArrayList中的所有行,格式如下: String.format(“%s\t%d”,ch.getFullName(),ch.getAge()) 我试图从arraylist中为每个元素设置它,但没有成功。将所有子类添加到JList模型

我有子元素的ArrayList,并有一些属性(全名(字符串)、年龄(int)、父元素id(int)、id(int))。 我正在使用netbeans设计视图创建JFrame(对我来说定位元素更容易)

在这个JFRAME中,我有一个jList,我可以在jList中设置ArrayList中的所有行,格式如下:

String.format(“%s\t%d”,ch.getFullName(),ch.getAge())


我试图从arraylist中为每个元素设置它,但没有成功。

将所有子类添加到
JList
模型中,并定义一个自定义的
ListCellRenderer
。在渲染器中获取值并使用childrender元素设置文本。

将所有子类添加到
JList
模型中,并定义自定义
ListCellRenderer
。在渲染器中,获取值并使用Children元素设置文本。

JTable是渲染多列数据的更好选择。有关详细信息,请参见上的Swing教程部分


DefaultTableModel不支持带有自定义对象的ArrayList,因此您可以尝试使用

JTable是呈现多列数据的更好选择。有关详细信息,请参见上的Swing教程部分


DefaultTableModel不支持带有自定义对象的ArrayList,因此您可以尝试使用

详细信息不足,请尝试添加更多详细信息。详细信息不足,请尝试添加更多详细信息。
public void loadKids(ArrayList childs){final String[]tmpData=new String[childs.size()];for(childs ch:childs){}listKids.setModel(new javax.swing.AbstractListModel(){//String[]strings={“项目1”、“项目2”、“项目3”、“项目4”、“项目5”};@Override public int getSize(){return tmpData.length;}@Override public Object getElementAt(int i){return tmpData[i];}});}
这是我尝试在jList中加载arrayList的方式。不起作用。请使用DefaultListModel传递子数组。为了简化重写子数组的toString()方法以返回name+“\t”+age
public void loadKids(arrayList childs){final String[]tmpData=new String[childs.size()];for(childs ch:childs){}setModel(新的javax.swing.AbstractListModel(){//String[]strings={“项目1”、“项目2”、“项目3”、“项目4”、“项目5”};@Override public int getSize(){return tmpData.length;}@Override public Object getElementAt(int i){return tmpData[i];}}};}
这是我尝试在jList中加载arrayList的方式。不起作用。请使用DefaultListModel传递子数组。为了简化子数组的override to string()方法以返回name+“\t”+age