Tenho duas classes que extende o JFrame (TelaLogin e TelaPrincipal)
Na TelaLogin, possui um JButton chamado "ok", este botão tem o seguinte código:
ok.addActionListener(new java.awt.event.ActionListener()){
public void actionPerformed(java.awt.event.ActionEvent evt){
TelaLogin tlog = TelaLogin();
tlog.removeAll();
tlog.setVisible(false);
tlog.validate();
TelaPrincipal tp = new TelaPrincipal();
tp.setVisible(true);
tp.validate();
}});
Meu método Main está na classe TelaPrincipal. Ele chama a TelaLogin:
public static void main(String[] args) {
JFrame Janela = new TelaLogin();
Janela.setVisible(true);
WindowListener x = new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
};
Janela.addWindowListener(x);
}
Quando compilo a TelaPrincipal, exibe a TelaLogin. Quando clico no botão ok exibe a TelaPrincipal, até aii é exatamente o que quero fazer!!
Meu problema é que quando clico no botão ok, a TelaLogin não fecha, exibe as duas telas uma em cima da outra.
Gostaria de saber se possui outro comando alem doTela.removeAll();
remove(Tela);
Acredito que meu método actionListener está usando componentes do "awt", minhas instancias são todas "swing", para não haver problemas, possui um método actionListener próprio da swing??