当前位置:  开发笔记 > 编程语言 > 正文

在JTable中显示对象ArrayList的内容的最简单方法是什么?

如何解决《在JTable中显示对象ArrayList的内容的最简单方法是什么?》经验,为你挑选了1个好方法。

我有一个Track对象的ArrayList.每个Track对象都有以下字段(所有字符串):

网址,标题,创作者,专辑,流派,作曲家

我想在JTable中显示这些轨道,每行是Track对象的一个​​实例,每列包含一个Track对象的属性.

如何使用JTable显示此数据?我已经使用了一个正确实现getValueAt()方法的AbstractTableModel.不过,我在屏幕上看不到任何东西.

或者只是使用数组更容易?



1> coobird..:

为了添加要在a上显示的内容JTable,可以使用TableModel添加要显示的项目.

添加一行数据DefaultTableModeladdRow方法之一是使用一个方法,该方法将采用Object表示行中对象的s 数组.由于没有方法可以直接从中添加内容ArrayList,因此可以Object通过访问内容来创建一个s 数组ArrayList.

下面的示例使用一个KeyValuePair类,它是数据的持有者(类似于您的Track类),它将用于填充a DefaultTableModel以将表显示为JTable:

class KeyValuePair
{
    public String key;
    public String value;

    public KeyValuePair(String k, String v)
    {
        key = k;
        value = v;
    }
}

// ArrayList containing the data to display in the table.
ArrayList list = new ArrayList();
list.add(new KeyValuePair("Foo1", "Bar1"));
list.add(new KeyValuePair("Foo2", "Bar2"));
list.add(new KeyValuePair("Foo3", "Bar3"));

// Instantiate JTable and DefaultTableModel, and set it as the
// TableModel for the JTable.
JTable table = new JTable();
DefaultTableModel model = new DefaultTableModel();
table.setModel(model);
model.setColumnIdentifiers(new String[] {"Key", "Value"});

// Populate the JTable (TableModel) with data from ArrayList
for (KeyValuePair p : list)
{
    model.addRow(new String[] {p.key, p.value});
}

推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有