基于JTable的列宽与内容自适应的实现方法

 更新时间:2013年05月17日 11:38:36   作者:  
本篇文章是对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<rowCount; row++){
             int preferedWidth = (int)myTable.getCellRenderer(row, col).getTableCellRendererComponent(myTable,
               myTable.getValueAt(row, col), false, false, row, col).getPreferredSize().getWidth();
             width = Math.max(width, preferedWidth);
         }
         header.setResizingColumn(column); // 此行很重要
         column.setWidth(width+myTable.getIntercellSpacing().width);
     }


使用方法:FitTableColumns(yourTableName);

相关文章

  • Java日期操作类常见用法示例

    Java日期操作类常见用法示例

    这篇文章主要介绍了Java日期操作类常见用法,结合实例形式分析了java针对日期时间的获取、转换常见操作技巧,需要的朋友可以参考下
    2019-07-07
  • Java多线程工具CompletableFuture详解

    Java多线程工具CompletableFuture详解

    这篇文章主要介绍了Java多线程工具CompletableFuture详解,CompletableFuture 是 java 1.8 追加的新特性,通俗的话来说,是一个函数式的,用于控制多任务同步、异步组合操作的工具,需要的朋友可以参考下
    2024-01-01
  • Mybatis解决找不到get方法

    Mybatis解决找不到get方法

    这篇文章主要介绍了Mybatis解决找不到get方法问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • SpringBoot中干掉Whitelabel Error Page返回自定义内容的实现

    SpringBoot中干掉Whitelabel Error Page返回自定义内容的实现

    这篇文章主要介绍了SpringBoot中干掉Whitelabel Error Page返回自定义内容的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • 浅谈JAVA字符串匹配算法indexOf函数的实现方法

    浅谈JAVA字符串匹配算法indexOf函数的实现方法

    这篇文章主要介绍了浅谈字符串匹配算法indexOf函数的实现方法,indexOf函数我们可以查找一个字符串(模式串)是否在另一个字符串(主串)出现过。对此感兴趣的可以来了解一下
    2020-07-07
  • 文件上传SpringBoot后端MultipartFile参数报空问题的解决办法

    文件上传SpringBoot后端MultipartFile参数报空问题的解决办法

    这篇文章主要介绍了文件上传SpringBoot后端MultipartFile参数报空问题的解决办法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • 基于Java和GeoTools的Shapefile矢量数据缩略图生成实践

    基于Java和GeoTools的Shapefile矢量数据缩略图生成实践

    这篇文章主要介绍了基于Java和GeoTools的Shapefile矢量数据缩略图生成实践,需要的朋友可以参考下
    2024-08-08
  • JS+Struts2多文件上传实例详解

    JS+Struts2多文件上传实例详解

    这篇文章主要为大家详细介绍了JS+Struts2多文件上传实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • 支撑Java NIO与NodeJS的底层技术

    支撑Java NIO与NodeJS的底层技术

    这篇文章主要为大家详细介绍了支撑Java NIO与NodeJS的底层技术,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • Java实现经典捕鱼达人游戏的示例代码

    Java实现经典捕鱼达人游戏的示例代码

    《捕鱼达人》是一款以深海狩猎为题材的休闲竞技游戏。本文将利用Java实现这一经典的游戏,文中采用了swing技术进行了界面化处理,需要的可以参考一下
    2022-02-02

最新评论