Olá Pessoal, estou com uma duvida
Quando eu clico num botão para chamar a uma tela do tipo JInternalFrame ela abre normalmente da forma que eu quero, porém quando eu a fecho e clico no botão novamente ela não abre mais.
como posso solucionar essa dificuldade?
package CC01_JFrame02;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Exemplo06JDesktopPane extends JFrame implements ActionListener{
JInternalFrame if1, if2, if3;
JPanel p1, p2, p3;
JDesktopPane dt;
JMenuBar menu;
JMenu menuFuncao, menuCadastrar, menuRelatorio;
JMenuItem itemCliente, itemFornecedor, itemSair, itemRelat1, itemRelat2;
public Exemplo06JDesktopPane(){
setSize(800, 600);
setTitle("Minha primeira aplicação Java");
setLocationRelativeTo(null); //Abrir aplicacao no centro da tela
setUndecorated(true);
getRootPane().setWindowDecorationStyle(JRootPane.FRAME);
getRootPane().setBorder(BorderFactory.createEtchedBorder(0));
setDefaultCloseOperation(EXIT_ON_CLOSE);
menu = new JMenuBar();
menuFuncao = new JMenu("Arquivo");
itemSair = new JMenuItem("Sair");
itemSair.addActionListener(this);
menuFuncao.add(itemSair);
menuCadastrar = new JMenu("Cadastrar");
itemCliente = new JMenuItem("Cliente");
itemCliente.addActionListener(this);
menuCadastrar.add(itemCliente);
itemFornecedor = new JMenuItem("Fornecedor");
itemFornecedor.addActionListener(this);
menuCadastrar.add(itemFornecedor);
menuRelatorio = new JMenu("Relatorio");
itemRelat1 = new JMenuItem("Relatorio I");
menuRelatorio.add(itemRelat1);
itemRelat2 = new JMenuItem("Relatorio II");
menuRelatorio.add(itemRelat2);
setJMenuBar(menu);
menu.add(menuFuncao);
menu.add(menuCadastrar);
menu.add(menuRelatorio);
if1 = new JInternalFrame("Cadastro Cliente", false, true, false, false);
if1.setBounds(200, 150, 400, 280);
p1 = new JPanel();
p1.setBounds(5, 5, 380, 235);
if1.getContentPane().setLayout(null);
if1.getContentPane().add(p1);
if1.setVisible(false);
if2 = new JInternalFrame("Cadastro Fornecedor", false, true, false, false);
if2.setBounds(200, 150, 400, 280);
p2 = new JPanel();
p2.setBounds(5, 5, 380, 235);
if2.getContentPane().setLayout(null);
if2.getContentPane().add(p2);
if2.setVisible(false);
dt = new JDesktopPane();
dt.setLayout(null);
dt.add(if1);
dt.add(if2);
getContentPane().add(dt);
}
public void actionPerformed(ActionEvent e){
if(e.getSource() == itemSair){
System.exit(0);
}
if(e.getSource() == itemCliente){
if1.setVisible(true);
}
if(e.getSource() == itemFornecedor){
if2.setVisible(true);
}
}
public static void main(String args[]){
new Exemplo06JDesktopPane().setVisible(true);
}
}