Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > Объединение ячеек в JTable?


Автор: Goliath 11.3.2006, 13:18
Доброго времени суток. И снова вопрос по JTable. Подскажите, как можно в JTable сделать объединение ячеек, кроме как переписывать метод paint smile ?

Автор: LSD 11.3.2006, 13:33
Нет. Но и переопределение paint-а не все решает. Остаются проблемы с редактированием ячейки.
Может проще разбить одну ячейку на несколько?

Автор: Goliath 11.3.2006, 13:42
Я нашел пример, но при запуска получаю ошибку: java.lang.StackOverflowError. Я так понимаю, что основа ошибка из–за версии JVM?

Автор: LSD 11.3.2006, 14:30
Цитата(Goliath @ 11.3.2006, 13:42 Найти цитируемый пост)
Я так понимаю, что основа ошибка из–за версии JVM?

Да вообще-то нет. Проблема в том, что они переопределили метод setDataVector() и вызывают из него setColumnIdentifiers() который в свою очередь снова вызывает метод setDataVector(), и так они рекурсивно вызывают сами себя, до тех пор пока не StackOverflowError.

Исправь в AttributiveCellTableModel метод setDataVector на:
Код
public void setDataVector(Vector newData, Vector columnNames)
{
  if(newData == null)
    throw new IllegalArgumentException("setDataVector() - Null parameter");
  dataVector = newData;
  super.setDataVector(newData, columnNames);
    
  cellAtt = new DefaultCellAttribute(dataVector.size(), columnIdentifiers.size());
    
  newRowsAdded(new TableModelEvent(this, 0, getRowCount()-1, TableModelEvent.ALL_COLUMNS, TableModelEvent.INSERT));
}

Автор: Goliath 11.3.2006, 14:56
Супер smile !!! Спасибо LSD smile !

Автор: LSD 11.3.2006, 15:04
Плиз smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)