zoukankan      html  css  js  c++  java
  • 实现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);

  • 相关阅读:
    U3D shaderlab 相关指令开关
    CCF NOI1073
    CCF NOI1185
    CCF NOI1077(自然数的拆分问题 )
    CCF NOI1070(汉诺塔)
    CCF NOI1069
    2018年全国多校算法寒假训练营练习比赛(第一场)G.圆圈
    poj1941(递归)
    Codeforce914B (Conan and Agasa play a Card Game)
    Codeforce916B
  • 原文地址:https://www.cnblogs.com/anqli-java/p/8309304.html
Copyright © 2011-2022 走看看