Olá, tenho esse código MDI:
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import java.awt.event.*;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class Mdi extends JFrame implements ActionListener, KeyListener {
private static final long serialVersionUID = 1L;
JDesktopPane desktop = new JDesktopPane();
JMenuBar mnuBarra = new JMenuBar();
//MENUS
JMenu mnuArquivo = new JMenu("Arquivo");
//SUBMENUS
JMenuItem mnuClientes = new JMenuItem("Clientes");
JMenuItem mnuFornecedores = new JMenuItem("Fornecedores");
JMenuItem mnuProdutos = new JMenuItem("Produtos");
JMenuItem mnuCartoes = new JMenuItem("Cadastro de Cartões");
public Mdi(){
super("Testando MDI");
this.setBounds(100,100,800,600);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.add(desktop);
mnuClientes.addActionListener(this);
mnuBarra.add(mnuArquivo);
mnuArquivo.add(mnuClientes);
mnuArquivo.add(mnuFornecedores);
mnuArquivo.add(mnuCartoes);
this.setJMenuBar(mnuBarra);
this.setVisible(true);
}
public static void main(String[] args) {
new Mdi();
}
public void actionPerformed(ActionEvent e) {
Object o = e.getSource();
if(o == mnuClientes){
Clientes clientes = new Clientes();
clientes.criaClientes();
}
}
public void keyPressed(KeyEvent arg0) {
}
public void keyReleased(KeyEvent arg0) {
}
public void keyTyped(KeyEvent arg0) {
}
}
Na classe clientes o código é o seguinte:
import javax.swing.JInternalFrame;
public class Clientes extends JInternalFrame {
private static final long serialVersionUID = 1L;
JInternalFrame clientes = new JInternalFrame("Cadastro de Clientes", true, true, true, true);
public void criaClientes(){
clientes.setBounds(10,10,600,400);
clientes.setVisible(true);
Mdi tela = new Mdi();
tela.desktop.add(clientes);
}
}
O problema que está acontecendo é que quando clico no menu do MDI clientes ele abre a classe clientes só que ele duplica a tela MDI.
Este código para chamar a classe clientes eu fui testando até uma hora eu conseguir chamar.
Por favor me ajudem nesse problema que estou tendo.
Desde já agradeço pela atenção.