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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM