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

  • 相关阅读:
    P3332 [ZJOI2013]K大数查询
    树上最短路---------------树链剖分,优化建边。
    BZOJ_4386
    2016_1_13(3)
    2016_1_13(2)
    2016_1_13
    BZOJ_1698
    BZOJ_4152
    BZOJ_3110
    BZOJ_2141
  • 原文地址:https://www.cnblogs.com/anqli-java/p/8309304.html
Copyright © 2011-2022 走看看