Mesclar células no JTable

1 resposta
A

Olá

Estou precisando meslcar célular no JTable… segue um modelo de como estou querendo

Vi alguns exemplos, mais não entendi direito


1 Resposta

A

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();
    }
Criado 24 de outubro de 2011
Ultima resposta 24 de out. de 2011
Respostas 1
Participantes 1