1

我对 Java Swing 的经验较少,我想创建一个动态列表,其中必须为每个元素指定 2 个参数。

我有 n 个元素,其中数字 n 未知并且取决于其他程序...

我希望对于 n 个元素,swing GUI 显示 n 行,其中左侧的每一行都有 2 个框用于设置参数 String id 和 int time。

4

2 回答 2

4

如何使用具有两列的JTable,每个数据值一列?

有一个很好的使用表格的教程: http: //docs.oracle.com/javase/tutorial/uiswing/components/table.html

来自 docs.oracle.com 的 JTable 示例

于 2012-04-07T21:14:30.573 回答
1

通过使用 ArrayList,您可以:

import java.util.ArrayList;

public class ArrayList2d<Type>
{
ArrayList<ArrayList<Type>>  array;

public ArrayList2d()
{
    array = new ArrayList<ArrayList<Type>>();
}

public void ensureCapacity(int num)
{
    array.ensureCapacity(num);
}


public void ensureCapacity(int row, int num)
{
    ensureCapacity(row);
    while (row < getNumRows())
    {
        array.add(new ArrayList<Type>());
    }
    array.get(row).ensureCapacity(num);
}


public void Add(Type data, int row)
{
    ensureCapacity(row);
    while(row >= getNumRows())
    {
        array.add(new ArrayList<Type>());
    }
    array.get(row).add(data);
}

public Type get(int row, int col)
{
    return array.get(row).get(col);
}

public void set(int row, int col, Type data)
{
    array.get(row).set(col,data);
}

public void remove(int row, int col)
{
    array.get(row).remove(col);
}

public boolean contains(Type data)
{
    for (int i = 0; i < array.size(); i++)
    {
        if (array.get(i).contains(data))
        {
            return true;
        }
    }
    return false;
}

public int getNumRows()
{
    return array.size();
}

public int getNumCols(int row)
{
    return array.get(row).size();
}
}
于 2012-04-07T21:17:33.600 回答