Слияние ячеек в 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);
}
(...)
}