我正在尝试获得正方形(具有相同宽度和高度的单元格) 但是我只能使用setPreferredWidth方法调整宽度,如下所示:
TableColumnModel tcm = table1.getColumnModel();
tcm.getColumn(0).setPreferredWidth(100);
我尝试使用方法setPreferredSize(100,100);
,但它不起作用,我尝试了方法setRowHeight(100);
但它仍然不起作用......我正在使用内部框架,我不喜欢知道它是否是setRowHeight不起作用的原因。
我该怎么办?
答案 0 :(得分:1)
您可以覆盖getPreferredScrollableViewportSize()
,就像他们展示here和here一样。
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)
。此外,应在创建表时调用此方法,而不是在内部框架可见之后调用。