Sou novo por aqui e em Java também. O meu problema é o seguinte: eu tenho uma janela(JFrame) que foi aberta a partir de outra(JFrame também). A janela que foi aberta contém um botão que, ao clicá-lo, eu gostaria que fechasse essa janela que o contém. Vi que neste fórum existe um tópico sobre este problema, mas infelizmente não consegui esclarecer a minha dúvida. Se alguém puder me ajudar, agradeço desde já.
Tenho uma classe onde coloquei os botões (classe do tipo JPanel que adicionei no meu pallete) e que utilizo em todos os forms do meu projeto como interface (implements).
Se eu colocar esse evento, ele vai fechar o meu form que utiliza o JPanel?
Olá, estou chamando a minha tela a partir de um menu da seguinte maneira:
JFrame tela = new JFrame();
tela.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
GUICicloVida ciclo = new GUICicloVida();
tela.add(ciclo);
tela.setSize(510, 205);
tela.setLocation(35, 20);
tela.setVisible(true);
tela.setResizable(false);
tela.setTitle("Manutenção de Ciclos de Vida");
Além do botão padrão de fechamento da tela, eu tenho um JButton que pretendo utilizar pra fechar as telas sem encerrar toda a aplicação.
Estou me perdendo nesta parte.
Olá,
não sei se entendi bem…
mais você tem que fazer uma ação para esse seu botão…
assim:
//
// Ciração do Botão Ok para a outra janela.
//
io_bt_ok = new JButton(io_ie_ok);
io_bt_ok.setText("Ok");
io_bt_ok.setBounds(345,30,70,25);
io_bt_ok.setRequestFocusEnabled(true);
io_ct.add(io_bt_ok);
Então você cria o Action dele dando dispose na janela…
/**
* Ação quando clicado em Ok.
*/
Action
io_ie_ok = new AbstractAction()
{
public void actionPerformed(ActionEvent e)
{
//
// Fecha o outro JFrame.
//
dispose();
}
};
E se você realmente quiser matar todos os processos e acabar com a aplicação, de um System.exit(0); hahaha…