Boa noite pessoal,
estou fazendo uma aplicação e reparei que a mesma perde performance no momento de atualizar a JTable.
como estou fazendo em tempo de execução a única forma que encontrei (como sou iniciante) foi remover todas as linhas da Jtable e adicionar todas as linhas novamente.
Segue abaixo método para atualizar a tabela:
// ao final de cada operação chamo esse método. perdendo assim performance.
private void atualizaTabela(String pesquisa) {
tbRamais.updateUI();
model = (DefaultTableModel) tbRamais.getModel();
model.getDataVector().clear();
try {
rVet = controleRamal.obterRamalPesquisa(pesquisa);
for (int i = 0; i < rVet.length; i++) {
Ramal r = rVet[i];
if (r != null) {
Diretoria diretoria = controleDiretoria.obterDiretoriaPeloCod(r.getCodigoDiretoria());
Gerencia gerencia = controleGerencia.obterGerenciaPeloCod(r.getCodigoGerencia());
NRamal nRamal = controleNRamal.obterNRamalPeloCod(r.getRamal());
Object linha[] = {
r.getNome(),
nRamal.getNRamal(),
diretoria.getNome(),
gerencia.getNome()
};
model.addRow(linha);
}
}
Amigos, notei em outros tópicos que não é recomendado utilizar DefaultTableModel, então, estou querendo criar meu propio defaultTableModel estendendo de um abstractTableModel.
Mas não sei como começar, tenho que criar meu propio Jtable tambem? sobrescrevendo o método setModel?
como crio esse DefaultTableModel? que métodos devo utilizar para fazer com que minha tabela atualize em tempo de execução?