我對Java Swing的經驗較少,我想創建一個動態列表,其中每個元素必須指定2個參數。如何用n行動態創建一個擺動列表,其中每行放置2個數據
我有n個元素,其中數字n是未知的,依賴於其他程序...
我想,對於n個元素,鞦韆GUI顯示n行有左側每一行都有2框用於設置參數String id和int time。
我對Java Swing的經驗較少,我想創建一個動態列表,其中每個元素必須指定2個參數。如何用n行動態創建一個擺動列表,其中每行放置2個數據
我有n個元素,其中數字n是未知的,依賴於其他程序...
我想,對於n個元素,鞦韆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();
}
}
我相信OP意味着一個'JList'。 – Jeffrey 2012-04-07 21:49:26
@Jeffrey對不起..!:(我無法滿足你的需求..! – SenthilPrabhu 2012-04-07 23:26:00
嗯...不錯的主意 – AndreaF 2012-04-07 21:18:49
還要考慮['JList'](自定義渲染器)。 – trashgod 2012-04-07 22:50:25