使用 JTable - 指定大小

Using JTable - specifying size

我正在程序中使用 JTable。问题是,当我设置整个 JTable 的大小时,我使用的是这种方法:

setPreferredScrollableViewportSize(Dimension size)

我的问题是,使用此方法时,您输入的宽度和长度(以像素为单位)。当程序在不同的 computers/machines 上 运行 时会出现问题(格式化方面)吗?

Should I avoid the use of set(Preferred|Maximum|Minimum)Size methods in Java Swing? - 简短的回答是肯定的(你应该避免它)

设置 table 的 preferredSize 时,您实际上并没有考虑 table 可能具有的行数或列数,这取决于布局管理器,它可能永远不会大于您提供的尺寸,无论数据量如何

The question I have is that when using this method, you enter in the width and length in pixels. Will there be issues (formatting-wise) when the program is run on different computers/machines?

一般来说,是的。

JTable 被设计为在 JScrollPane 内显示,这让您有一些余地,因为 JTable 可以在 JScrollPane 内增长和缩小, 但 JScrollPane 可以保持不变。

话虽如此,您不应该使用 setPreferredSize,尤其是不要乱用 JTableJTable 会根据数据的需要计算自己的首选大小。 .而且它做得相当不错。

如果你想改变 JScrollPane 的大小,那么你需要改变 getPreferredScrollableViewportSize 的结果,这让 JScrollPane 知道一个组件需要多大的基本最佳条件下的可视区域

How to Use Tables and How to Use Scroll Panes