【发布时间】:2011-09-13 02:30:56
【问题描述】:
我有一个包含 3 列的表,并且希望第一个是所需的最小大小。标题是“级别”,似乎是 25-29 像素,具体取决于我使用的字体/操作系统。然而,表格标题在 Windows 上似乎需要至少 35 个,在 Mac 上至少需要 52 个才能在没有省略号的情况下显示它。我不知道为什么需要额外的空间(没有边框等)。
我终于发现,以下将在 Windows (35) 上提供所需的大小,但在 Mac 上它返回 36,这还不够(很可能是由于排序箭头指示符位于文本旁边而不是上方)。 ..
table.getTableHeader().getDefaultRenderer().getTableCellRendererComponent(null, table.getColumnModel().getColumn(0).getHeaderValue(),假,假,0, 0).getPreferredSize().width
独立于平台的正确方法是什么?或者,在 Mac 上是否有一种方法可以计算所需的额外空间,这样我就不必对上述结果添加 15 个左右像素之类的东西进行硬编码?
【问题讨论】:
标签: java swing jtableheader