将现有对象的值添加到JTable?

时间:2014-02-24 17:45:07

标签: java mysql swing object jtable

所以我有一个从mysql数据库中检索数据的方法,并将其存储在二维数组'values [i] [k]';

其中i表示每个单独的记录,k表示记录中的每个值。 如何将此对象添加到JTable?

表中的值看起来像这样,但是我想让它自动完成,而不是我必须手动写出来......

值[0] [0],值[0] [1],值[0] [2],值[0] [3];

值[1] [0],值[1] [1],值[1] [2],值[1] [3];

值[2] [0],值[2] [1],值[2] [2],值[2] [3];

值[3] [0],值[3] [1],值[3] [2],值[3] [3];

请记住,值i和k可以是任何数字,而不是固定值。

感谢任何帮助,提前谢谢:)

2 个答案:

答案 0 :(得分:4)

您无需创建二维数组来暂时保存数据。

在读取ResultSet中的每一行时,可以使用addRow(...)的{​​{1}}方法。

答案 1 :(得分:2)

  

所以我有一个方法从mysql数据库中检索数据

由于您有从数据库检索数据并希望将其存储在表中的方法,您可以这样做:

//全球宣言

private Vector<Vector<String>> data; //used for data from database
private Vector<String> header; //used to store data header

//向JTable显示信息

data = get();

//create header for the table
header = new Vector<String>();
header.add("Column1"); 
header.add("Column2");
...
model=new DefaultTableModel(data,header);
table = new JTable(model);

这将帮助您从数据库中获取数据

get(){
Vector<Vector<String>> doublevector = new Vector<Vector<String>>();

Connection conn = dbConnection();//Your Database connection code goes in dbConnection()
PreparedStatement pre1 = conn.prepareStatement("select * from Table");

ResultSet rs1 = pre1.executeQuery();
while(rs1.next())
{
Vector<String> singlevector = new Vector<String>();
singlevector.add(rs1.getString(1)); 
singlevector.add(rs1.getString(2)); 
....
doublevector.add(singlevector);

}

return doublevector;
}