本篇文章是对JTable的列宽与内容自适应的实现方法进行了详细的分析介绍,需要的朋友参考下
JTable默认的各列宽度平均,下函数可以实现各列宽度与内容长度适应!
public void FitTableColumns(JTable myTable){
JTableHeader header = myTable.getTableHeader();
int rowCount = myTable.getRowCount();
Enumeration columns = myTable.getColumnModel().getColumns();
while(columns.hasMoreElements()){
TableColumn column = (TableColumn)columns.nextElement();
int col = header.getColumnModel().getColumnIndex(column.getIdentifier());
int width = (int)myTable.getTableHeader().getDefaultRenderer()
.getTableCellRendererComponent(myTable, column.getIdentifier()
, false, false, -1, col).getPreferredSize().getWidth();
for(int row = 0; row
myTable.getValueAt(row, col), false, false, row, col).getPreferredSize().getWidth();
width = Math.max(width, preferedWidth);
}
header.setResizingColumn(column); // 此行很重要
column.setWidth(width+myTable.getIntercellSpacing().width);
}
以上就是基于JTable的列宽与内容自适应的实现方法的详细内容,更多请关注0133技术站其它相关文章!