Объединение ячеек в JTable

можно ли объединить некоторые ячейки объекта JTable?

объединение ячеек http://www.codeguru.com/java/articles/139_table12.gif

Если это невозможно через JTable, что является лучшим подходом. Спасибо.

2 ответов


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


вы можете реализовать 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);
 }
(...)
}