怎么改表jtable中列与列之间的距离

解决方案 »

  1.   

    JTableHeader header = table.getTableHeader();
     header.setResizingColumn(80); //20为宽度
      

  2.   

    表格宽度自适应函数:
    public static int fitTableColumnsWidth(JTable table) {
            return fitTableColumnsWidth(table, 0);
        }    public static int fitTableColumnsWidth(JTable table, int addtionalSpace) {
            table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
            JTableHeader header = table.getTableHeader();
            int rowCount = table.getRowCount();        Enumeration columns = table.getColumnModel().getColumns();
            int totalColumnWidth = 0;
            while (columns.hasMoreElements()) {
                TableColumn column = (TableColumn) columns.nextElement();
                int col = header.getColumnModel().getColumnIndex(column.getIdentifier());
                int width = (int) table.getTableHeader().getDefaultRenderer()
                        .getTableCellRendererComponent(table, column.getIdentifier()
                                , false, false, -1, col).getPreferredSize().getWidth();
                for (int row = 0; row < rowCount; row++) {
                    int preferedWidth = (int) table.getCellRenderer(row, col).getTableCellRendererComponent(table,
                            table.getValueAt(row, col), false, false, row, col).getPreferredSize().getWidth();
                    width = Math.max(width, preferedWidth);
                }
                header.setResizingColumn(column); // this line is very important
                column.setWidth(width + table.getIntercellSpacing().width + addtionalSpace);
                totalColumnWidth += width + table.getIntercellSpacing().width + addtionalSpace;
            }
            return totalColumnWidth;
        }