加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

JAVA技巧:如何调整JTable的单元格宽度

(2016-04-10 20:30:31)
标签:

杂谈

分类: 信息技术
 
中华IT学院   】  [ 2012年4月23日 ]

  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.        }

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有