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

刘二芳0

刘二芳0

2016-02-19 09:41

下面图老师小编要向大家介绍下基于JTable的列宽与内容自适应的实现方法,看起来复杂实则是简单的,掌握好技巧就OK,喜欢就赶紧收藏起来吧!

JTable默认的各列宽度平均,下函数可以实现各列宽度与内容长度适应!
代码如下:

public void FitTableColumns(JTable myTable){
  JTableHeader header = myTable.getTableHeader();
     int rowCount = myTable.getRowCount();

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

     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; rowrowCount; 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);

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)
展开更多 50%)
分享

猜你喜欢

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

编程语言 网络编程
基于JTable的列宽与内容自适应的实现方法

解决列高度自适应(列高度相同)的五种方法

Web开发
解决列高度自适应(列高度相同)的五种方法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

通过JAVAScript实现页面自适应

Web开发
通过JAVAScript实现页面自适应

DELPHI中自适应表单的实现

编程语言 网络编程
DELPHI中自适应表单的实现

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

自适应高度框架 ----属个人收藏内容

Web开发
自适应高度框架 ----属个人收藏内容

使两个iframe的高度与内容自适应,且相等

Web开发
使两个iframe的高度与内容自适应,且相等

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

win10 如何关闭windows defender

win10 如何关闭windows defender

代码与页面的分离

代码与页面的分离
下拉加载更多内容 ↓