Слияние ячеек в JTable

Возможно ли объединить несколько ячеек объекта JTable?


(источник: codeguru.com)

Если это невозможно с помощью JTable, что является лучшим подходом. Благодарю.

2 ответа

Решение

Не из коробки. Вот пример, который поддерживает объединение произвольных ячеек. На этой странице есть несколько примеров таблиц с остовными ячейками. Конечно, он старый, и вы получаете то, за что платите. Если платное программное обеспечение является опцией, у JIDE Grids есть действительно хорошая поддержка таблиц Swing, включая пользовательские диапазоны ячеек.

Вы можете реализовать JTable, используя TableModel, объединяя два столбца оригинальной TableModel.

class Model2 extends AbstractTableModel
{
private TableModel delegate;
public Model2(TableModel delegate)
 {
 this.delegate= delegate;
 }

public int getRowCount() { return this.delegate.getRowCount();}
public int getColumnCount() { return this.delegate.getColumnCount()-1;}
public Object getValueAt(int row, int col)
 {
 if(col==0) return ""+delegate.getValueAt(row,col)+delegate.getValueAt(row,col+1);
 return delegate.getValueAt(col+1);
 }
(...)
}
Другие вопросы по тегам