Jtable自动适应列宽

简介: Jtable自动适应列宽

一、Java对Jtable自动适应列宽

示例:正常情况下,Jtable默认为各列等宽,可以利用下面的方法进行设置各列数据自适应宽度

tableModel=new DefaultTableModel();
tableModel.setDataVector(data,title);
table = new JTable(tableModel);
FitTableColumns(table);

二、使用步骤

1.引入库

代码如下(示例):

public void FitTableColumns(JTable myTable) {               //設置table的列寬隨內容調整
        JTableHeader header = myTable.getTableHeader();
        int rowCount = myTable.getRowCount();
        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; row < rowCount; 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);
        }
    }


目录
相关文章
|
5月前
openpyxl 一行代码批量修改单元格属性、修改全部单元格属性 、设置自动换行、修改全部单元格style为自动换行
openpyxl 一行代码批量修改单元格属性、修改全部单元格属性 、设置自动换行、修改全部单元格style为自动换行
106 0
table怎么实现部分列固定宽度,其它列宽自适应拉伸
table怎么实现部分列固定宽度,其它列宽自适应拉伸
349 0
table怎么实现部分列固定宽度,其它列宽自适应拉伸
【Excel自动化办公Part5】:设置行高和列宽、合并单元格、取消合并单元格
【Excel自动化办公Part5】:设置行高和列宽、合并单元格、取消合并单元格
168 0
【Excel自动化办公Part5】:设置行高和列宽、合并单元格、取消合并单元格
C#编程-80:DataGridView单元格自动填充
C#编程-80:DataGridView单元格自动填充
169 0
C#编程-80:DataGridView单元格自动填充