我有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
内的最大字符串。实际上,现在标准列长度不允许所有字符串完全适合内部。我该怎么办?
答案 0 :(得分:2)
您可以手动为所有列调用getColumnHeaderWidth()
方法以获得最大宽度(您需要首先将该方法设为公共)。
然后,一旦知道最大宽度,就可以手动设置每列的宽度。有关详细信息,请阅读Setting and Changing Column Widths上的Swing教程。