Ameer Jewdaki
Ameer Jewdaki

Reputation: 1798

Merging cells in JTable

Is it possible to merge some cells of a JTable object?

merging cells
(source: codeguru.com)

If it's not possible through JTable what is the best approach. Thanks.

Upvotes: 9

Views: 18162

Answers (2)

Dave Ray
Dave Ray

Reputation: 40005

Not out-of-the-box. Here is an example that supports merging arbitrarty cells. This page has several examples of tables with spanning cells. Of course it's old and you get what you pay for. If paid software is an option, JIDE Grids has some really nice Swing table support including custom cell spans.

Upvotes: -1

Pierre
Pierre

Reputation: 35306

You could implement a JTable using a TableModel merging two columns of the original 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);
 }
(...)
}

Upvotes: 2

Related Questions