Мне нужно, чтобы JTable автоматически менял размер столбцов в соответствии с содержимым. Я нашел класс TableColumnAdjuster
очень полезным. Но есть небольшая проблема. Скажем, у меня 5 столбцов, и их содержание очень короткое. В этом случае, если я использую автоматический регулятор, он устанавливает первые четыре столбца ширины в соответствии с их содержимым и передает все остальное пространство в последний столбец. См. Пример.Автоматическое изменение размеров столбцов JTable
Здесь последний столбец, Balance
дается все излишки пространства. Но что, если мне нужно дать это пространство одному из средних столбцов. В приведенном выше случае мне нужно назначить это пространство третьему столбцу, name
. Я пробовал модифицировать метод TableColumnAdjuster
класса adjustColumns()
. Но я не мог заставить его работать.
Я попробовал как column.setPreferredWidth()
, так и column.setWidth()
для изменения размеров колонок. Но, похоже, это ничего не меняет. Как я могу эффективно изменять размеры столбцов в JTable
. Если есть какая-то другая альтернатива или прямой ответ на мою главную проблему, это лучше. Благодаря!
Это фантастика, в конечном итоге ее использование. Я добавил проверку перед вызовом setPreferredColumnModel, который выглядит как «if (width> 300) width = 300;» который фиксирует некоторые случаи, когда я показываю действительно длинные поля данных. Я бы предложил добавить это к ответу - и вы могли бы также извлечь min/max width (Сделали бы фантастические дополнительные параметры - на самом деле я собираюсь сделать это в своей кодовой базе сейчас.) (Хотел бы я знать когда было здорово редактировать что-то подобное в чужом ответе ...Поскольку это не CW, я ненавижу изменять контент без разрешения.) –
Привет, @BillK Не стесняйтесь редактировать/добавлять код ... и если у вас есть скриншот. ;) –
Могу ли я также каким-то образом оценить заголовок, чтобы его текст не обрезался? – Xerus