JTable列宽按照显示区域的百分比分配

需求如下:
 
  表格区域宽度是不固定的,表格列的数量是动态生成的,每列占据表格整体宽度的百分比是已知的,那么如何让JTable按照百分比来分配每列的宽度呢?

  主要目的是,不想让列表过窄(没有完全填充Table的区域)或者过宽(出现横向滚动条).

  JTable如果不设置列宽,所有列都是一样宽的,如果设置列宽的话,列宽是固定的,如果少于显示区域是不会把剩下的填充的,如果多于显示区域就会出现横向滚动条,所以,不知道谁实现过类似的按照显示区域百分比自动分配列宽的功能?

作者: Harbin_SAKURA   发布时间: 2011-06-14

那就需要你自己来控制啊。一般你把JTable加到一个JScollPane中,那么,你可以得到JScrollPane的当前宽度,你根据这个宽度和你的JTable的各列情况,自己设定一列一列的列宽。毕竟你不是使用Excel的用户,你是程序员,这种自动调节列宽的事情,是需要你自己来做的

作者: wenbodong   发布时间: 2011-06-14