Galera … estou com problema ao manipular internal frames em paralelo…
meu maior problema é reabrir um internal frame … coloquei o método de acesso pelo menubar com um item de menu! o acesso ocorre normal, porém quando tento reabrir não acontece nada! o q devo fazer ???
utilizei o desktop pane e tudo conforme o livro do deitel
Cara é bem simples, ta aqui o código, to meio sem tempo pra comentar, mas tá bem tranquilo de entender, a função que que faz o JInternal Frame ficar escondido é setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
packagetesteJinternalFame;importjava.awt.event.ActionEvent;importjavax.swing.*;importjava.awt.event.*;importjavax.swing.*;publicclassMenuextendsJFrameimplementsActionListener{privateJMenuBarjmPrincipal=newJMenuBar();privateJMenujmCadastro=newJMenu("Cadastros");privateJMenuItemjmCadCliente=newJMenuItem("Cliente");privateJMenuItemjmCadFornecedor=newJMenuItem("Fornecedor");publicJDesktopPanejdPane=newJDesktopPane();TelatelaCadCliente,telaCadFornecedor,telaCadProduto;publicstaticvoidmain(Stringargs[]){Menumenu=newMenu();}publicMenu(){getContentPane().add(jdPane);jmPrincipal.add(jmCadastro);jmCadastro.add(jmCadCliente);jmCadastro.add(jmCadFornecedor);setJMenuBar(jmPrincipal);jmCadCliente.addActionListener(this);jmCadFornecedor.addActionListener(this);setSize(800,600);setVisible(true);inializaObjetos();}publicvoidactionPerformed(ActionEventevt){if(evt.getSource()==jmCadCliente){telaCadCliente.show();jdPane.moveToFront(telaCadCliente);}if(evt.getSource()==jmCadFornecedor){telaCadFornecedor.show();jdPane.moveToFront(telaCadFornecedor);}}publicvoidinializaObjetos(){telaCadCliente=newTela("Cadastro de Cliente",this);telaCadFornecedor=newTela("Cadastro de Fornecedor",this);telaCadCliente.hide();telaCadFornecedor.hide();}}classTelaextendsJInternalFrame{privateMenutelaPrincipal;publicTela(Stringtitulo,MenutelaPrincipal){super(titulo,true,true,true,true);setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);setSize(300,200);setVisible(true);this.hide();this.telaPrincipal=telaPrincipal;telaPrincipal.jdPane.add(this);}}