Olá
Estou precisando meslcar célular no JTable… segue um modelo de como estou querendo
Vi alguns exemplos, mais não entendi direito
Esse é o código do meu AbstractTableModel
public class clsDadosIniciaisTM extends AbstractTableModel{
private List<clsDadosIniciaisCol> linhas;
//private String[] cColunas = new String[]{"ID", "Código", "Razão Social", "Fantasia", "Telefone", "Contato"};
private String[] cColunas;
public clsDadosIniciaisTM(String[] cColunas) {
linhas = new ArrayList<clsDadosIniciaisCol>();
this.cColunas = cColunas;
}
public clsDadosIniciaisTM(List<clsDadosIniciaisCol> listaDadosIniciais) {
linhas = new ArrayList<clsDadosIniciaisCol>(listaDadosIniciais);
}
@Override
public int getColumnCount() {
return cColunas.length;
}
@Override
public int getRowCount() {
return linhas.size();
}
@Override
public String getColumnName(int columnIndex) {
return cColunas[columnIndex];
}
@Override
public Class<?> getColumnClass(int columnIndex) {
switch (columnIndex) {
case 0:
return String.class;
case 1:
return String.class;
case 2:
return String.class;
case 3:
return String.class;
case 4:
return String.class;
case 5:
return String.class;
default:
throw new IndexOutOfBoundsException("ColumnIndex out of bounds");
}
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
clsDadosIniciaisCol cDadosIniciais = linhas.get(rowIndex);
switch (columnIndex) {
case 0:
return cDadosIniciais.getID();
case 1:
return cDadosIniciais.getCod();
case 2:
return cDadosIniciais.getDescricao();
case 3:
return cDadosIniciais.getCol01();
case 4:
return cDadosIniciais.getCol02();
case 5:
return cDadosIniciais.getCol03();
default:
throw new IndexOutOfBoundsException("Column out of bounds");
}
}
public void setValutAt(Object aValue, int rowIndex, int columnIndex) {
}
;
@Override
public boolean isCellEditable(int rowIndex, int columnIndex) {
return true;
}
public clsDadosIniciaisCol getDadosIniciais(int indiceLinha) {
return linhas.get(indiceLinha);
}
public void addDadosIniciais(clsDadosIniciaisCol DadosIniciais) {
linhas.add(DadosIniciais);
int ultimoIndice = getRowCount() - 1;
fireTableRowsInserted(ultimoIndice, ultimoIndice);
}
public void removeDadosIniciais(int indiceLinha) {
linhas.remove(indiceLinha);
fireTableRowsDeleted(indiceLinha, indiceLinha);
}
public void addListaDadosIniciais(List<clsDadosIniciaisCol> DadosIniciais) {
int tamanhoAntigo = getRowCount();
linhas.addAll(DadosIniciais);
fireTableRowsInserted(tamanhoAntigo, getRowCount() - 1);
}
public void limpar() {
linhas.clear();
fireTableDataChanged();
}
public boolean isEmpty() {
return linhas.isEmpty();
}