在我的程序中,可以重新调整jTable的列的大小。构建jTable时,列会根据长度自动调整大小。但有时我想改变列的大小,因为当表格打印在纸上时它更易读。
可以显示如下图标:。
现在,在重新调整列的大小时,只显示鼠标
是否有人可以这样做以及如何做到这一点?
表格代码:
private JTable table;
table = new JTable(model);
table.setBounds(1, 1, 450, 0);
JScrollPane scrollPane = new JScrollPane(table);
panel_10.add(scrollPane);
JTableHeader tableHeader = table.getTableHeader();
tableHeader.setResizingAllowed(true);
也许它与我的DefaultTableModel有关?
DefaultTableModel model = new DefaultTableModel();
Statement stmt2 = connection.createStatement();
ResultSet rs2 = stmt2.executeQuery("SELECT * FROM machinecodes WHERE type = '" + type +"'");
while(rs2.next()){
for(int i = 1; i < columns ; i++)
{
if(rs2.getString(1+i)==null) break;
model.addColumn(rs2.getString(1+i));
}
}
}
else
{
for(int i = 1 ; i <= 25 ; i++)
model.addColumn(i);
}
// Fetch each row from the result set
while (rs.next()) {
Object[] o = new Object[columns];
// Get the data from the row using the column index
for(int i = 0; i < columns ; i++)
o[i]=rs.getString(i+1);
model.insertRow(0, o);
}
答案 0 :(得分:2)
检索JTableHeader并允许调整大小:
JTable yourTable;
...
JTableHeader tableHeader = yourTable.getTableHeader();
tableHeader.setResizingAllowed(true);