3 列のテーブルがあり、最初の列を必要最小限のサイズにしたいと考えています。ヘッダーは「レベル」で、使用するフォント/OS によっては 25 ~ 29 ピクセルのようです。ただし、テーブル ヘッダーを省略記号なしで表示するには、Windows では少なくとも 35、Mac では 52 が必要なようです。余分なスペースが必要な理由がわかりません (境界線がないなど)。
私は最終的に、以下がWindows(35)で必要なサイズを与えることを発見しましたが、Macでは十分ではない36を返します(ほとんどの場合、ソート矢印インジケータがテキストの上ではなく横にあるためです)...
table.getTableHeader().getDefaultRenderer().getTableCellRendererComponent(null, table.getColumnModel().getColumn(0).getHeaderValue(), false, false, 0, 0).getPreferredSize().width
プラットフォームに依存しないこれを行う正しい方法は何ですか? または、上記の結果に 15 ピクセル程度を追加するなどのハードコードを行う必要がないように、Mac で必要な余分なスペースを計算する方法はありますか?