jtable 根据内容自动调整表格宽度

 

9 楼gtlang78()回复于 2005-07-27 09:43:15 得分  

   
  private   static   void   adjustTableColumnWidths(JTable   table)    
  {  
  JTableHeader   header   =   table.getTableHeader();     //表头  
  int   rowCount   =   table.getRowCount();     //表格的行数  
  TableColumnModel   cm   =   table.getColumnModel();     //表格的列模型  
   
  for   (int   i   =   0;   i   <   cm.getColumnCount();   i++)   {     //循环处理每一列  
  TableColumn   column   =   cm.getColumn(i);                     //第i个列对象  
  int   width   =   (int)header.getDefaultRenderer().getTableCellRendererComponent(table,   column.getIdentifier(),   false,   false,   -1,   i).getPreferredSize().getWidth();     //用表头的绘制器计算第i列表头的宽度  
  for(int   row   =   0;   row<rowCount;   row++){     //循环处理第i列的每一行,用单元格绘制器计算第i列第row行的单元格宽度  
  int   preferedWidth   =   (int)table.getCellRenderer(row,   i).getTableCellRendererComponent(table,   table.getValueAt(row,   i),   false,   false,   row,   i).getPreferredSize().getWidth();  
  width   =   Math.max(width,   preferedWidth);     //取最大的宽度  
  }  
  column.setPreferredWidth(width+table.getIntercellSpacing().width);     //设置第i列的首选宽度  
  }  
   
  table.doLayout();       //按照刚才设置的宽度重新布局各个列  
  } 

摘自

<jtable的某列如何能自动调整宽度,适合其值>

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值