Как получить заголовок JTable для отображения полных имен столбцов вместо их сокращения? - PullRequest
5 голосов
/ 31 августа 2011

У меня есть JTable, который я заполняю классом, расширяющим AbstractTableModel. Проблема в том, что столбцы слишком короткие, чтобы отобразить имя столбца. Я отключил свойство Jtable AutoResizeMode, но сокращение по-прежнему происходит. Как мне это решить?

Ответы [ 3 ]

3 голосов
/ 01 сентября 2011

Вы можете использовать Настроитель столбцов таблицы для настройки ширины столбцов на основе текста заголовка.

getColumnHeaderWidth(...) показывает, как рассчитать фактическую ширину с использованием текста заголовка и средства визуализации.

2 голосов
/ 31 августа 2011

Отключение режима автоматического изменения размера только предотвращает изменение размера каталогов JTable.Чтобы принудительно задать определенную ширину, найдите модель столбца таблицы:

TableColumn column = jtable.getColumnModel().getColumn(col_num);

и установите желаемую ширину:

column.setPreferredWidth(width);
2 голосов
/ 31 августа 2011

есть два способа

1) рассчитать PreferredSize из TableColumn (по умолчанию возвращает JLabel), есть 3-4 правильных способа определения отображаемого значения TextLenght in pixex (пожалуйста, добавьте плюс 5-8 пикселей)

2) setPreferredSize напрямую, например, TableColumn#setPreferredSize

...