各位前辈,我想请教一个关于JTABLE的问题,由于jtable的构造方法是
JTable(Object[][] rowData, Object[] columnNames)
然后我在网上查了很多关于jtable的帖子发现都是把列名和行显示的数据写死的。这样只能学习一个用法。但实际中却不如此。
现在我想把从数据库中查询出来的值放在jtable里面,由于是从数据库中查询出来的,那么到底有多少就不一定了,比如只有3列,列名分别是:“姓名,性别,年龄”。然后所对应的每一行的数据从数据库中取(当然从数据库中取出来的数据我都放在了一个List集合里),但是具体有多少就不一定了,那该怎么去做呢?我的意思是构造方法中的 Object[][] rowData 这个该怎么去设置? 是写个for循环取吗?希望各位能给我一个详细的答案,本人是个新手,说得不对的地方请不要骂我,先谢谢了!
JTable(Object[][] rowData, Object[] columnNames)
然后我在网上查了很多关于jtable的帖子发现都是把列名和行显示的数据写死的。这样只能学习一个用法。但实际中却不如此。
现在我想把从数据库中查询出来的值放在jtable里面,由于是从数据库中查询出来的,那么到底有多少就不一定了,比如只有3列,列名分别是:“姓名,性别,年龄”。然后所对应的每一行的数据从数据库中取(当然从数据库中取出来的数据我都放在了一个List集合里),但是具体有多少就不一定了,那该怎么去做呢?我的意思是构造方法中的 Object[][] rowData 这个该怎么去设置? 是写个for循环取吗?希望各位能给我一个详细的答案,本人是个新手,说得不对的地方请不要骂我,先谢谢了!
给你个例子:
private JTable getGgood_table() {
int j=0,k=0;
if (Ggood_table == null) {
rows=0;
String data[][]=new String[rows][cols];
DefaultTableModel dtm=new DefaultTableModel(data,head);
//设置表格不可编辑
Ggood_table=new JTable(dtm){
public boolean isCellEditable(int col,int row){
return false;
}
};
//表格的列大于表格显示的范围时,出现滚动条
Ggood_table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
//设置表格列宽
Ggood_table.getColumn("模具编码").setPreferredWidth(110);
Ggood_table.getColumn("规格").setPreferredWidth(150);
//设置表头列不可移动
Ggood_table.getTableHeader().setReorderingAllowed(false);
}
return Ggood_table;
}