FrmPrincipal tem um JMenu com 2 JMenuItem. Um fazendo a chamada ao IfrmA, e o outro chamando IfrmB; utilizando o seguinte código (no FrmPrincipal) para isso:
// JMenuItemA
IfrmA ifrmA = new IfrmA();
ifrmA.setSize(320, 240);
ifrmA.setVisible(true);
desktopPane.add(ifrmA);
// JMenuItemB
IfrmB ifrmB = new IfrmB();
ifrmB.setSize(320, 240);
ifrmB.setVisible(true);
desktopPane.add(ifrmB);
Até aqui tudo bem e sem problemas com o NetBeans…
O IfrmA tem um botão. Eu preciso fazer uma chamada ao IfrmB deste botão do IfrmA e abrir o IfrmB dentro do FrmPrincipal. Confuso neh? heheh. Segue a imagem para explicar melhor.
Cara, fiz umas classes aqui para demonstrar, tentei ser o mais simples possivel para que vc entenda facil.
Ai vao elas :
principal.java
importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JDesktopPane;importjavax.swing.JFrame;importjavax.swing.JMenu;importjavax.swing.JMenuBar;importjavax.swing.JMenuItem;publicclassprincipalextendsJFrame{privateJDesktopPanedesktop;privateJMenuBarmenu;privateJMenucadastros;privateJMenuItemclientes;publicprincipal(){super("Tela Principal");setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setExtendedState(MAXIMIZED_BOTH);desktop=newJDesktopPane();getContentPane().add(desktop);menu=newJMenuBar();setJMenuBar(menu);cadastros=newJMenu("Cadastros");clientes=newJMenuItem("Clientes");clientes.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){jIFrClientesclients=newjIFrClientes(desktop);desktop.add(clients);clients.setVisible(true);clients.setLocation(90,215);//localizacao na telatry{clients.setSelected(true);//deixa o frame selecionado}catch(Exceptionex){}}});menu.add(cadastros);cadastros.add(clientes);setVisible(true);}publicstaticvoidmain(String[]args){newprincipal();}}
jIFrClientes.java
importjava.awt.BorderLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JInternalFrame;importjavax.swing.JButton;importjavax.swing.JDesktopPane;publicclassjIFrClientesextendsJInternalFrameimplementsActionListener{privateJDesktopPanedesktop;privateJButtonbconsulta;publicjIFrClientes(JDesktopPanejdesktop){super("Cadastros de Clientes",false,true,false,true);desktop=jdesktop;bconsulta=newJButton("CONSULTAR");bconsulta.addActionListener(this);add(bconsulta,BorderLayout.SOUTH);setSize(400,400);setVisible(true);}publicvoidactionPerformed(ActionEventactionEvent){Stringarg=actionEvent.getActionCommand();if(arg.equals("CONSULTAR")){consultaClientesclientsConsulta=newconsultaClientes();desktop.add(clientsConsulta);clientsConsulta.setVisible(true);try{clientsConsulta.setSelected(true);}catch(Exceptione1){e1.printStackTrace();}}}}
Espero que ajude, qualquer duvida em relacao ao codigo, pode perguntar.
Falowsss
H
henribas
:oops: cara, to até envergonhado da simplicidade que eh fazer isso ae hehehe. Muito obrigado mesmo! Valeu mesmo!
Trabalhei durante 2 anos com .NET (C# e ASP.NET), mas fiquei muito descontente com essa tecnologia. Microsoft não tem respeito algum pelo desenvolvedor. Por isso, desde o final do ano passado, comecei a estudar e utilizar Java.
Mais uma vez muito obrigado. Longa vida ao Java e ao GUJ.
PS.: em anexo a versão em netbeans caso alguém precise.