1

我有一个JTable标题包含不同类型的字符串:

table = new JTable(new DefaultTableModel(info, myHeader){
        public boolean isCellEditable(int row, int column) {
            //disable table editing
            return false;
        }
    };
    header = table.getTableHeader();
    JScrollPane scroll_pane = new JScrollPane(table);
    table.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
    table.getTableHeader().setReorderingAllowed(false);
    table.getTableHeader().setResizingAllowed(false);

myHeader是一个包含表头字符串的字符串数组。这些字符串有不同的长度,我希望列长度都相等,并且可以包含内部最大的字符串myHeader。事实上,现在标准的列长度不允许所有字符串完美地放入其中。我该怎么做?

4

1 回答 1

3

看看Table Column Adjuster

您可以手动调用getColumnHeaderWidth()所有列的方法以获得最大宽度(您需要先公开该方法)。

然后,一旦您知道最大宽度,您就可以手动设置每列的宽度。阅读关于设置和更改列宽的 Swing 教程以获取更多信息。

于 2013-08-22T18:02:26.667 回答