Estou desenvolvendo um sistema com acesso a banco de dados. Uma das minhas janelas exibe uma tabela com dados de uma tabela de banco de dados chamada “Relatorios”.
Como faço pra que, quando a janela ganhe foco, seja aberta pelo usuário, a tabela (JTable) carregue os dados contidos no banco de dados na tabela de mesmo nome?
Desculpe-me se não fui tão claro.
Abraço, obrigado o/
O que vc não sabe?
a) Rodar uma consulta no banco de dados;
b) Carregar os resultados da consulta no seu próprio TableModel;
c) Capturar o evento de tela, que faz as duas coisas acima acontecerem;
c) Capturar o evento de tela, que faz as duas coisas acima acontecerem;
=)
Você tem algumas opções:
- Se a janela fica fechada e só será aberta de vez enquanto, você pode deixar o código que carrega a tabela em seu construtor;
- Se a janela fica visível, mas se atualiza só devido a consultas ou a telas de inserção, faça essas telas modais e ponha a atualização após chamar o setVisible das janelas modais;
- Se a janela fica visível, mas você quer que ela atualiza sempre que ganhar o foco, use o evento WindowActivated:
suaJanela.addWindowListener(new WindowAdapter() {
public void windowActivated(WindowEvent evt) {
atualizarTabela();
}
});
Note que dificilmente é necessário usar o 3. Eu prefiro usar as opções 1 e 2.