从多个数组添加Jtable中的数据

时间:2016-11-15 20:06:21

标签: java jtable

我有两个列表,第一个列表包含员工姓名,第二个列表包含员工ID。在我的jtable中,我有两列#34; Name"和" ID"。有没有办法在jtable列中明智地添加数据列?

public static ArrayList <String> Name = new ArrayList <String>();
public static ArrayList <Double> ID = new ArrayList <Double>();
String[] columns = {"Name","ID"};
JTable table = new JTable(Columns,0);
//What to enter here

我读过许多文章,说jtable中你只能添加行数据。但在我的情况下,数组不包含行的信息。此外,我试图将两个行合并到一个列表中,但这也无法解决问题。

1 个答案:

答案 0 :(得分:0)

首先考虑使用类或字典来存储您的值。好吧,让我深入研究如何使用行和列迭代来解决它:

行迭代

我将首先解释如何使用行迭代来解决问题,因为它是推荐的(下面的列迭代)。您可以使用for循环迭代它们并同时添加值。例如:

DefaultTableModel model = new DefaultTableModel();
for (int i = 0; i < Name.size(); i++) {
    Object[] o = new Object[2];
    o[0] = Name.get(i);
    if(i<ID.size())
    {
        o[1] = ID.get(i);
    }
    model.addRow(o);
}
model.setColumnIdentifiers(columns);
table.setModel(model);

另请考虑使用int代替ID。

列迭代

但是如果你真的想使用列迭代,请查看以下链接:

Adding Columns to JTable dynamically

基本上,该帖子中解释的是你需要将列添加到模型中,然后将带有值的对象数组添加到模型中。

model.addColumn("ID", ID.toArray());