Fala galera!
Estou tendo um problema para gerenciar a adição/remoção de uma coluna dentro de uma JTable. O que acontece é que minha tabela tem que ser dinamicamente acrescentada de linhas e/ou colunas de acordo com o que o usuario quer.
Os problemas começam quando eu excluo e logo depois adiciono uma coluna, vou dar um exemplo para ficar mais claro:
tenho N colunas
deleto uma e fico com N-1 colunas
quando adiciono uma coluna ao invês de ter novamente N colunas eu fico com N+1 colunas.
O que eu acho é que as colunas estão sendo removidas apenas visualmente e quando tento inserir uma coluna ele nunca excluiu aquela ultima coluna no modelo.
ficou muito confuso ou vcs entenderam?
Abaixo foi colocar os códigos de inserção de coluna e remoção:
private void btnInserirColGabActionPerformed(java.awt.event.ActionEvent evt) {
DefaultTableModel model = (DefaultTableModel)tabGabaritos.getModel();
model.addColumn(cmbColunas.getSelectedItem());
tabGabaritos.getSelectionModel().setSelectionInterval(0,0);
btnExcluirColGab.setEnabled(true);
}
private void btnExcluirColGabActionPerformed(java.awt.event.ActionEvent evt) {
int[] selecionadas = tabGabaritos.getSelectedColumns();
TableColumnModel modeloColuna = tabGabaritos.getColumnModel();
int tam = selecionadas.length;
for (int i = tam - 1; i >= 0; i--) {
TableColumn col = modeloColuna.getColumn(selecionadas[i]);
modeloColuna.removeColumn(col);
}
if (tabGabaritos.getColumnModel().getColumnCount() > 1) {
tabGabaritos.getColumnModel().getSelectionModel().setSelectionInterval(0,0);
} else {
btnExcluirColGab.setEnabled(false);
}
}
Espero a resposta galera!
Um abraço!