Descrição:
Estou com um problema chato aqui. Estou desenvolvendo uma aplicação em Swing + Hibernate no Netbeans. Criei um JTable e coloquei um BINDING dele com os dados de uma tabela do banco (usando as interfaces de edição do Netbeans). Dai ele cria uma List que pega o set de elementos de uma NamedQuery (persistencia), e esta mesma List esta “anexado” ao conteúdo do JTable.
O problema:
Quando faço alterações nessa List, a interface não consegue atualizar, e congela a renderização do ContentPane aonde se encontra.
Curiosidade:
O Netbeans tem uma opção de criar um Form baseado em uma entidade do banco, e ja cria a JTable com os JTextFields para edição dos dados (inserir, alterar, apagar, etc etc), dai tem um botão que faz o REFRESH do JTable, e ele apenas faz alteração da List e tudo acontece normal (a List esta “anexada” ao JTable tambem). Alguma sugestão? Quem quiser pegar o projeto e testar, estou hospedando o código no Google Code (podem fazer checkout, compilar e ver o problema, basta entrar em contato).
O código:
java.util.Collection data = usuarioQuery.getResultList();
for (Object entity : data) {
try {
ge.getEntityManager().refresh(entity);
} catch (NullPointerException npe) {
System.out.println("EXCEPTION: " + npe.toString());
}
}
usuarioList.clear();
usuarioList.addAll(data);