Ola
Estou desenvolvendo um sistema em java. Criei uma classe que faz o gerenciamento para abrir janelas e cria um jButton em um jPane que fica na tela principal, que serve para trocar entre janelas. Até ai tudo bem, está fazendo certo.
Queria uma forma de quando eu fechar a janela, no evento fechar ele remover o jButton… Como descobrir qual é o button a ser removido
Classe que gerencia as janelas
public class GerenciadorJanelas {
private static JDesktopPane jDesktopPane;
private static JPanel jPanel;
private JButton button;
public GerenciadorJanelas(JDesktopPane jDesktopPane , JPanel jPGerenciadorJanelas) {
GerenciadorJanelas.jDesktopPane = jDesktopPane;
GerenciadorJanelas.jPanel = jPGerenciadorJanelas;
}
public void abrirJanela(JInternalFrame jIF) {
if (jIF.isVisible()) {
jIF.toFront();
jIF.requestFocus();
//button.setName(jIF.getTitle());
// button.setFocusable(true);
} else {
jDesktopPane.add(jIF);
jIF.setVisible(true);
constroirButton(jIF);
}
}
//Adiciona um botão no panel de gerenciador de janelas na tela principal
private void constroirButton(JInternalFrame jIF) {
FlowLayout layout = new FlowLayout();
jPanel.setLayout(layout);
jPanel.add(button = new JButton());
layout.setAlignment(FlowLayout.LEFT);
button.setText(jIF.getTitle());
button.setName(jIF.getTitle());
button.setVisible(true);
}
public void fecharJanela(JInternalFrame jIF) {
//jPanel.remove(button);
FALTA IMPLEMENTAR ESSE METODO, COMO DESCOBRIR O BUTTON QUE POSSUI O NOME QUE FOI DADO A ELE NO METODO ACIMA(TITULO DA JANELA)???
}
}
Ação do de um menu na tela principal
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
gerenciadorJanelas.abrirJanela(CadUnidadeView.getIntancia());
}
Ação fechar da janela
private void formInternalFrameClosed(javax.swing.event.InternalFrameEvent evt) {
gerenciadorJanelas.fecharJanela(CadUsuarioView.getIntancia());
}