我有一个JTable
,标头包含不同类型的字符串:
table = new JTable(new DefaultTableModel(info, myHeader){
public boolean isCellEditable(int row, int column) {
//disable table editing
return false;
}
};
header = table.getTableHeader();
JScrollPane scroll_pane = new JScrollPane(table);
table.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
table.getTableHeader().setReorderingAllowed(false);
table.getTableHeader().setResizingAllowed(false);
myHeader
是一个包含表头字符串的字符串数组。这些字符串有不同的长度,我希望列的长度都相等,并且可以包含myHeader
中最大的字符串。事实上,现在的标准列长度不允许所有字符串都完美地放在里面。我该怎么做?
看看Table Column Adjuster。
您可以为所有列手动调用getColumnHeaderWidth()
方法以获得最大宽度(您需要首先将该方法公开)。
一旦知道了最大宽度,就可以手动设置每列的宽度。有关详细信息,请阅读有关设置和更改列宽的Swing教程。