调整JTable的单元格宽度

来源:java认证发布时间:2012-11-12 13:12:58java认证视频

    1.BWStatTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    2.        for (int i = 0; i < BWStatTable.getColumnCount(); i++) {
    3.            TableColumn tc = BWStatTable.getColumn(BWStatTable.
    4.                    getColumnName(i));
    5.            int c = tc.getModelIndex();
    6.            int width = 0;
    7.            int maxw = 0;
    8.            for (int r = 0; r < BWStatTable.getRowCount(); ++r) {
    9.                TableCellRenderer renderer = BWStatTable.
    10.                                             getCellRenderer(r, c); //得到每个单元格的渲染器
    11.                Component comp = renderer.getTableCellRendererComponent(
    12.                        BWStatTable, "", false, false,
    13.                        r, c);
    14.                width = comp.getPreferredSize().width;
    15.                maxw = width > maxw ? width : maxw;
    16.            }
    17.            TableCellRenderer headRenderer = tc.getHeaderRenderer(); //得到每列中的表头渲染器
    18.            if (headRenderer == null) {
    19.                headRenderer = BWStatTable.getTableHeader().         //得到表头中的表头渲染器
    20.                               getDefaultRenderer();
    21.            }
    22.            Component comp = headRenderer.getTableCellRendererComponent(
    23.                    BWStatTable, tc.getHeaderValue(), false, false, 0,
    24.                    i);
    25.            int w = comp.getPreferredSize().width;
    26.            maxw = w > maxw ? w : maxw;
    27.            if (BWStatTable.getColumnCount() == 2) {
    28.                tc.setMinWidth(maxw + 20);
    29.                tc.setPreferredWidth(maxw + 160);
    30.            }
    31.            if (BWStatTable.getColumnCount() == 3) {
    32.                tc.setMinWidth(maxw + 20);                //列设置宽度
    33.                tc.setPreferredWidth(maxw + 70);
    34.            }
    35.        }

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答