62,621
社区成员
发帖
与我相关
我的任务
分享
private void setHeader(JTable table){
TableColumnModel colModel=table.getColumnModel();
for(int i=0;i<colModel.getColumnCount();i++){
TableColumn col=colModel.getColumn(i)
TableCellRenderer headerRenderer=col.getHeaderRenderer();//获得列标题的渲染器
if(headerRenderer==null)//如果没有手动设置列标题的渲染器,则采用默认的渲染器
headerRenderer=table.getTableHeader().getDefaultRenderer();
Object headerValue=col.getHeaderValue();
//通过渲染器,得到该单元格应该绘制的组件,这样就可以得到该组件的大小
Component headerComp=headerRenderer.getTableCellRendererComponent(table,headerValue,false,false,0,col);
column.setPreferredWidth(headerComp.getPreferredSize().width);//用获得的组件的宽度设置该列宽度
}
private void setHeader(JTable table){
TableColumnModel colModel=table.getColumnModel();
for(TableColumn col:colModel){
TableCellRenderer headerRenderer=col.getHeaderRenderer();//获得列标题的渲染器
if(headerRenderer==null)//如果没有手动设置列标题的渲染器,则采用默认的渲染器
headerRenderer=table.getTableHeader().getDefaultRenderer();
Object headerValue=col.getHeaderValue();
//通过渲染器,得到该单元格应该绘制的组件,这样就可以得到该组件的大小
Component headerComp=headerRenderer.getTableCellRendererComponent(table,headerValue,false,false,0,col);
column.setPreferredWidth(headerComp.getPreferredSize().width);//用获得的组件的宽度设置该列宽度
}
}