2013-09-24 34 views
0

我有儿童ArrayList和有几个属性(全名(字符串),年龄(整数),parent_id(整数),ID(INT))。 我使用netbeans设计视图来创建JFrame(对我来说定位元素更容易)。ArrayList与自定义类到jList

在此的JFrame我的jList我如何从的jList ArrayList和格式设置的所有行这样的:

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

我试图让它从arraylist foreach元素,但没有工作。

+0

细节不足,请尝试添加更多详细信息。 – BVMR

回答

3

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

+0

'public void loadKids(ArrayList childs){ final String [] tmpData = new String [childs.size()];对于(孩子ch:孩子){ } } listkids.setModel(new javax.swing.AbstractListModel(){0}项目4" , “第5项”}; @覆盖 公众诠释的getSize(){ 返回tmpData.length; } @Override 公共对象getElementAt(int i)以{ 返回tmpdata伪[I]; } }); }' –

+0

这是我尝试在jList中加载arrayList的方式。没有工作。 –

+1

使用DefaultListModel传递您的Children数组。为了简化儿童返回名称+“\ t”+年龄的覆盖toString()方法 – StanislavL

1

对于呈现多列数据,JTable是更好的选择。有关更多信息,请参阅How to Use Tables上的Swing教程部分。

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