实现JTable的列宽与内容的自适应

摘要:
JTable中每列的默认宽度为平均值。以下函数可以根据内容长度调整列宽!

 JTable默认的各列宽度平均,下函数可以实现各列宽度与内容长度适应!来自互联网~

 1 public void FitTableColumns(JTable myTable){
 2   JTableHeader header = myTable.getTableHeader();
 3      int rowCount = myTable.getRowCount();
 4      Enumeration columns = myTable.getColumnModel().getColumns();
 5      while(columns.hasMoreElements()){
 6          TableColumn column = (TableColumn)columns.nextElement();
 7          int col = header.getColumnModel().getColumnIndex(column.getIdentifier());
 8          int width = (int)myTable.getTableHeader().getDefaultRenderer()
 9                  .getTableCellRendererComponent(myTable, column.getIdentifier()
10                          , false, false, -1, col).getPreferredSize().getWidth();
11          for(int row = 0; row<rowCount; row++){
12              int preferedWidth = (int)myTable.getCellRenderer(row, col).getTableCellRendererComponent(myTable,
13                myTable.getValueAt(row, col), false, false, row, col).getPreferredSize().getWidth();
14              width = Math.max(width, preferedWidth);
15          }
16          header.setResizingColumn(column); // 此行很重要
17          column.setWidth(width+myTable.getIntercellSpacing().width);
18      }

使用方法:FitTableColumns(yourTableName);

免责声明:文章转载自《实现JTable的列宽与内容的自适应》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C#日期格式化LINQ to Entities 不识别方法“System.String ToString()”,因此该方法无法转换为存储表达式。下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

sscanf函数用法详解

名称: sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: Int sscanf( string str, string fmt, mixed var1, mixed var2 … ); int scanf( const char *format [,argument]… ); 说明: sscanf与scanf类似,都是用于输入的,...

Android开发(二十八)——基础功能函数

/** * 判断事件是否在控件中 * * @paramview * @paramev * @return * @see http://m.blog.csdn.net/blog/aygxylxk/8950268 */ public static booleaninRangeOfView(View view, MotionEvent...

function类型(c++11)

1.c++五大可调用的对象   可调用的对象常常作为泛型算法的实参 1)函数 2)函数指针 函数名其实也是函数指针,只不过函数名是一个常量指针,它的值不能改变,只能指向该函数,不能改变它的值让它指向别的函数 void fun1(int a) { cout << a << endl; } void fun2(int a)...

echarts使用技巧(一)echarts的图表自适应resize问题、单选、缩放等

  这些东西要是有精力和时间可以通读echarts文档,里面都有配置详细介绍。该博客只是把自己使用echarts遇到的问题记录下,并不全,加深印象,抛砖引玉而已,完整学习的请移步官方文档 1、legend设置单选 legend: { data:['db block gets', 'consistent gets'], selectedM...

自适应网站设计对百度友好的关键:添加applicable-device标签(转)

现在很多网站都使用了自适应网页设计(Response-Web-Design),以满足庞大的移动端用户群的需要。但是在技术上设计了自适应的网页之后,出于SEO的考虑,你还要照顾到如何对百度更友好,即告诉百度“我是自适应页面”,方便百度进行识别校验。 自适应网页设计 浏览器对自适应识别校验代码 在自适应网页设计中,我们使用meta标签来告诉浏览器网页的自适应...

java中byte, int的转换

最近在做些与编解码相关的事情,又遇到了byte和int的转换,看着那些关于反码、补码的说明依旧头疼,还是记下些实用的方法吧。 int -> byte 可以直接使用强制类型转换: byte b = (byte) aInt; 这个操作是直接截取int中最低一个字节,如果int大于255,则值就会变得面目全非了。 对于通过InputStream.read(...