У меня есть таблица с 3 столбцами, и я хочу, чтобы первый размер был минимальным.Заголовок «Уровень», и кажется, что он составляет 25-29 пикселей в зависимости от используемого мной шрифта / ОС.Однако заголовок таблицы, по-видимому, требует по крайней мере 35 в Windows и 52 в Mac, чтобы отображать ее без эллипсов.Я не могу понять, зачем нужно дополнительное пространство (нет границ и т. Д.).
Я наконец-то обнаружил, что следующий код даст требуемый размер в Windows (35), но в Mac он возвращает 36, чтонедостаточно (скорее всего из-за того, что индикатор стрелки сортировки находится рядом с текстом, а не над ним) ...
table.getTableHeader (). getDefaultRenderer (). getTableCellRendererComponent (null, table.getColumnModel (). getColumn (0) .getHeaderValue (), false, false, 0, 0) .getPreferredSize (). width
Как правильно сделать это независимо от платформы?Или есть ли способ для Mac рассчитать дополнительное пространство, необходимое для того, чтобы мне не пришлось жестко кодировать что-то вроде добавления 15 или около того пикселей к приведенному выше результату?