我对 Java Swing 的经验较少,我想创建一个动态列表,其中必须为每个元素指定 2 个参数。
我有 n 个元素,其中数字 n 未知并且取决于其他程序...
我希望对于 n 个元素,swing GUI 显示 n 行,其中左侧的每一行都有 2 个框用于设置参数 String id 和 int time。
如何使用具有两列的JTable,每个数据值一列?
有一个很好的使用表格的教程: http: //docs.oracle.com/javase/tutorial/uiswing/components/table.html
通过使用 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();
}
}