Здравствуйте, столкнулся с проблемой, что никак не могу заставить исходниками из интернета, которые, как говорят их авторы "работают", заставить вывод в таблице JTable сделать многострочным.
Взял к примеру код отсюда: http://www.sql.ru/forum/707518/mnogostrochnyy-renderer-v-jtable
Добавляю данные в таблицу через DefaultTableModel.
Применяю исходник, как
table.setDefaultRenderer(String.class, new TextAreaRenderer());
Для теста можно взять таблицу отсюда: http://ru.jakeroid.com/primeryi-ispolzovaniya-jtable.html .
Прошу помощи, так как перерыл уже все и вывод многострочным так сделать и не получилось.
JTable определяет используемый рендерер по-умолчанию не по реальному классу объекта в ячейке, а по возвращаемому значению TableModel.getColumnClass. DefaultTableModel.getColumnClass всегда возвращает Object.class, поэтому назначенный для строк рендерер не используется.
Для решения проблемы можно назначить ваш рендерер для Object.class, переопределить getColumnClass в модели или задать рендерер столбцу через TableColumn.setCellRenderer:
// аргумент getColumn - номер колонки в порядке отображения
table.getColumnModel().getColumn( 0 ).setCellRenderer( new TextAreaRenderer() );
Продвижение своими сайтами как стратегия роста и независимости