如何动态创建一个带有n行的swing列表,其中每行放置2个数据

我对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

来自docs.oracle.com的JTable示例

通过使用ArrayList您可以:

 import java.util.ArrayList; public class ArrayList2d { ArrayList> array; public ArrayList2d() { array = new ArrayList>(); } public void ensureCapacity(int num) { array.ensureCapacity(num); } public void ensureCapacity(int row, int num) { ensureCapacity(row); while (row < getNumRows()) { array.add(new ArrayList()); } array.get(row).ensureCapacity(num); } public void Add(Type data, int row) { ensureCapacity(row); while(row >= getNumRows()) { array.add(new ArrayList()); } 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(); } }