我在程序中使用JTable。问题是当我设置整个JTable的大小时,我使用的是这个方法:
setPreferredScrollableViewportSize(Dimension size)
我的问题是,在使用此方法时,您输入宽度和长度(以像素为单位)。当程序在不同的计算机/机器上运行时是否会出现问题(格式化)?
答案 0 :(得分:1)
Should I avoid the use of set(Preferred|Maximum|Minimum)Size methods in Java Swing? - 简短回答是肯定的(你应该避免使用)
设置表的preferredSize时,实际上并没有考虑表可能具有的行数或列数,具体取决于布局管理器,它可能永远不会大于您提供的维度,无论数据量
我的问题是,在使用此方法时,您输入宽度和长度(以像素为单位)。当程序在不同的计算机/机器上运行时是否会出现问题(格式化)?
一般来说,是的。
JTable
旨在显示在JScrollPane
内,这可以让您有一些余地,因为JTable
可以在JScrollPane
内增长和缩小,但是JScrollPane
可以保持不变。
话虽如此,您不应该使用setPreferredSize
,特别是不要弄乱JTable
,JTable
根据数据需求计算自己的首选尺寸......而且它做得相当不错。
如果您想更改JScrollPane
的尺寸,则需要更改getPreferredScrollableViewportSize
的结果,以便JScrollPane
知道某个组件对基本可视区域的重要程度在最佳条件下