Estou fazendo um software e uma tela de pesquisa tem dentro o botão de adicionar, mas quando adiciono eu tenho que fazer uma pesquisa em branco para a JTable mostrar o dado que acabou de ser cadastrado.
Gostaria de que no exato momento que a eu fechasse a janela após cadastrar já fizesse automaticamente uma pesquisa em branco, saberiam me dizer como fazer?
Implementa o evento windowClose da janela que estás fechando e neste evento chame o método de pesquisa da outra janela.
Poderia me passar um exemplo?
package com.javacodegeeks.snippets.desktop;
import java.awt.Button;
import java.awt.Dimension;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
public class Main extends JFrame {
private static void showUI() {
Main jFrame = new Main();
jFrame.setSize(new Dimension(300, 250));
jFrame.add(new Button(“Hello World”));
jFrame.addWindowListener(new WindowAdapter() {
public void windowClosed(WindowEvent e) {
//aqui chama o método da outra tela para pesquisar
}
});
jFrame.setVisible(true);
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
showUI();
}
});
}
}
private void formWindowClosed(java.awt.event.WindowEvent evt) {
Pesquisa_Usuarios pu = new Pesquisa_Usuarios();
pu.readJTabel();
}
Dessa maneira?
Pois não funcionou
Tem certeza de que você realmente precisa criar uma nova instância da classe Pesquisa_Usuarios
?
Posta o código completo das suas classes envolvidas.
Pesquisa_Usuarios é sua tela de pesquisa?
Se for não está certo, pois está chamando o método da instancia de pu e não da tela que deve estar aberta.
Para isso dar certo vc vai precisar passar a instância da tela de pesquisa onde está o método para a tela que vc abriu. Ai esta instancia vc usa no windowClosed para chamar o método readJTabel().
Resumindo: não pode fazer isso: Pesquisa_Usuarios pu = new Pesquisa_Usuarios();
O objeto pu precisa vir por parametro(no construtor) na abertura desta tela.
Beleza irei tentar
Detalhe: Normalmente nós sobrescrevemos o método windowClosing e não windowClosed. Isso porque esse método nos dá a oportunidade de cancelar o fechamento da janela se quisermos.
problema resolvido, obrigado