调整JTable的高度

时间:2015-05-05 10:55:14

标签: java swing jtable swingworker jtableheader

我正在尝试获得正方形(具有相同宽度和高度的单元格) 但是我只能使用setPreferredWidth方法调整宽度,如下所示:

TableColumnModel tcm = table1.getColumnModel();
tcm.getColumn(0).setPreferredWidth(100);

我尝试使用方法setPreferredSize(100,100);,但它不起作用,我尝试了方法setRowHeight(100);但它仍然不起作用......我正在使用内部框架,我不喜欢知道它是否是setRowHeight不起作用的原因。 我该怎么办?

2 个答案:

答案 0 :(得分:1)

您可以覆盖getPreferredScrollableViewportSize(),就像他们展示herehere一样。

private static int N = …;
…
JTable table = new JTable() {

    @Override
    public Dimension getPreferredScrollableViewportSize() {
        Dimension dim = new Dimension(
            table.getRowHeight() * N,
            table.getRowHeight() * N);
        return dim;
    }
};

答案 1 :(得分:1)

不要扩展JInternalFrame。您尚未向该类添加任何新功能。而是创建一个JInternalFrame,并将滚动窗格添加到内部框架。

setRowHeight(100);

setRowHeight(...)是JTable的一种方法,因此您需要使用table.setRowHeight(100)。此外,应在创建表时调用此方法,而不是在内部框架可见之后调用。