Ola estou com o seguinte problema tenho um painel que chama outro painel de outra classe, como posso fechar este painel que foi chamado atraves do mesmo painel que o chamou?
exemplo
O PainelA chama o PainelB através de um botão.
Como fechar o PainelB através deste mesmo botão?
este é o PainelA
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class PainelA extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JButton AbrirFecharPainel = null;
private int a;
public PainelA() {
super();
initialize();
}
private void initialize() {
this.setSize(446, 243);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
}
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getAbrirFecharPainel(), null);
}
return jContentPane;
}
private JButton getAbrirFecharPainel() {
if (AbrirFecharPainel == null) {
AbrirFecharPainel = new JButton();
AbrirFecharPainel.setBounds(new Rectangle(168, 61, 113, 56));
AbrirFecharPainel.setText("ABRIR");
AbrirFecharPainel.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
if(a==0){
a=1;
AbrirFecharPainel.setText("FECHAR");
PainelB abrir = new PainelB();
abrir.setVisible(true);
}
else{
a=0;
AbrirFecharPainel.setText("ABRIR");
}
}
});
}
return AbrirFecharPainel;
}
}
Aqui o PainelB
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class PainelB extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
public PainelB() {
super();
initialize();
}
private void initialize() {
this.setSize(596, 222);
this.setBounds(300, 300, 452, 427);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
}
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
}
return jContentPane;
}
}
Se alguem me ajudar agradeço.