faça a leitura dos clicks, depois de feita a leitura coloque uma função para invocar um método e abrir o outro JFrame…
pronto…
E
entanglement
O correto é ter apenas um JFrame na sua aplicação, e os componentes que ele for abrir devam ser JDialogs (não JFrames), senão você terá problemas de “modalidade”.
E
entanglement
Vou dar um exemplo bem boboca, para você ter uma ideia do que eu estou falando.
private void jbtnCadastroClienteMouseClicked(java.awt.event.MouseEvent evt) {
if (evt.getClickCount()==2)
{
CadClientes.abrir() //abrir é o metodo que invoca o outro JFrame
Clientes.fechar() //fechar é o metodo que esconde o primeiro JFrame
}
}
com esse codigo vc só precisa definir seus metodos.
qualquer duvida continue nesse post
F
felipebr00
ai q tá x da questão, eu não sei como fazer os métodos, no caso ai o abrir e fechar, para q eles realmente funcione.
E
entanglement
packageguj;importjava.awt.BorderLayout;publicclassMenuFrameextendsJFrame{privateJPanelcontentPane;privateJPanelpanel;privateJButtonbtnCadastroClientes;privateJButtonbtnCadastroProdutos;/** * Launch the application. */publicstaticvoidmain(String[]args){EventQueue.invokeLater(newRunnable(){publicvoidrun(){try{MenuFrameframe=newMenuFrame();frame.setVisible(true);}catch(Exceptione){e.printStackTrace();}}});}/** * Create the frame. */publicMenuFrame(){setTitle("Menu");setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100,100,450,300);contentPane=newJPanel();contentPane.setBorder(newEmptyBorder(5,5,5,5));contentPane.setLayout(newBorderLayout(0,0));setContentPane(contentPane);contentPane.add(getPanel(),BorderLayout.SOUTH);}privateJPanelgetPanel(){if(panel==null){panel=newJPanel();panel.add(getBtnCadastroClientes());panel.add(getBtnCadastroProdutos());}returnpanel;}privateJButtongetBtnCadastroClientes(){if(btnCadastroClientes==null){btnCadastroClientes=newJButton("Clientes");btnCadastroClientes.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){CadastroClientesDialogccd=newCadastroClientesDialog(MenuFrame.this);ccd.setModalityType(ModalityType.APPLICATION_MODAL);ccd.setVisible(true);}});}returnbtnCadastroClientes;}privateJButtongetBtnCadastroProdutos(){if(btnCadastroProdutos==null){btnCadastroProdutos=newJButton("Produtos");btnCadastroProdutos.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){CadastroProdutosDialogcpd=newCadastroProdutosDialog(MenuFrame.this);cpd.setModalityType(ModalityType.APPLICATION_MODAL);cpd.setVisible(true);}});}returnbtnCadastroProdutos;}}
packageguj;importjava.awt.BorderLayout;publicclassCadastroClientesDialogextendsJDialog{/** * Create the dialog. */publicCadastroClientesDialog(){super();init();}publicCadastroClientesDialog(Windowowner){super(owner);init();}publicvoidinit(){setTitle("Cadastro de Clientes");setBounds(100,100,450,300);getContentPane().setLayout(newBorderLayout());contentPanel.setBorder(newEmptyBorder(5,5,5,5));getContentPane().add(contentPanel,BorderLayout.CENTER);contentPanel.setLayout(newBorderLayout(0,0));{JPanelpanel=newJPanel();panel.setBorder(newTitledBorder(null,"Cadastro de Clientes",TitledBorder.LEADING,TitledBorder.TOP,null,null));contentPanel.add(panel);}}/** * Launch the application. */publicstaticvoidmain(String[]args){try{CadastroClientesDialogdialog=newCadastroClientesDialog();dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);dialog.setVisible(true);}catch(Exceptione){e.printStackTrace();}}privatefinalJPanelcontentPanel=newJPanel();}
packageguj;importjava.awt.BorderLayout;publicclassCadastroProdutosDialogextendsJDialog{/** * Create the dialog. */publicCadastroProdutosDialog(){super();init();}publicCadastroProdutosDialog(Windowowner){super(owner);init();}publicvoidinit(){setTitle("Cadastro de Produtos");setBounds(100,100,450,315);getContentPane().setLayout(newBorderLayout());contentPanel.setBorder(newEmptyBorder(5,5,5,5));getContentPane().add(contentPanel,BorderLayout.CENTER);contentPanel.setLayout(newBorderLayout(0,0));{JPanelpanel=newJPanel();panel.setBorder(newTitledBorder(null,"Cadastro de Produtos",TitledBorder.LEADING,TitledBorder.TOP,null,null));contentPanel.add(panel);}}privatefinalJPanelcontentPanel=newJPanel();}
E
entanglement
Eu não fiz com o clique duplo, que é mais difícil. Vou tentar fazer com o tal do clique duplo.
E
entanglement
packageguj;importjava.awt.BorderLayout;publicclassMenuFrameextendsJFrame{privateJPanelcontentPane;privateJPanelpanel;privateJButtonbtnCadastroClientes;privateJButtonbtnCadastroProdutos;/** * Launch the application. */publicstaticvoidmain(String[]args){EventQueue.invokeLater(newRunnable(){publicvoidrun(){try{MenuFrameframe=newMenuFrame();frame.setVisible(true);}catch(Exceptione){e.printStackTrace();}}});}/** * Create the frame. */publicMenuFrame(){setTitle("Menu");setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100,100,450,300);contentPane=newJPanel();contentPane.setBorder(newEmptyBorder(5,5,5,5));contentPane.setLayout(newBorderLayout(0,0));setContentPane(contentPane);contentPane.add(getPanel(),BorderLayout.WEST);}privateJPanelgetPanel(){if(panel==null){panel=newJPanel();panel.setLayout(newBoxLayout(panel,BoxLayout.Y_AXIS));panel.add(getBtnCadastroClientes());panel.add(getBtnCadastroProdutos());}returnpanel;}privateJButtongetBtnCadastroClientes(){if(btnCadastroClientes==null){btnCadastroClientes=newJButton("<html><u>Clientes</u></html>");btnCadastroClientes.addMouseListener(newMouseAdapter(){@OverridepublicvoidmouseClicked(MouseEvente){if(e.getClickCount()==2){CadastroClientesDialogccd=newCadastroClientesDialog(MenuFrame.this);ccd.setModalityType(ModalityType.APPLICATION_MODAL);ccd.setVisible(true);}}});btnCadastroClientes.setContentAreaFilled(false);btnCadastroClientes.setBorder(null);btnCadastroClientes.setBorderPainted(false);}returnbtnCadastroClientes;}privateJButtongetBtnCadastroProdutos(){if(btnCadastroProdutos==null){btnCadastroProdutos=newJButton("<html><u>Produtos</u></html>");btnCadastroProdutos.addMouseListener(newMouseAdapter(){@OverridepublicvoidmouseClicked(MouseEvente){if(e.getClickCount()==2){CadastroProdutosDialogcpd=newCadastroProdutosDialog(MenuFrame.this);cpd.setModalityType(ModalityType.APPLICATION_MODAL);cpd.setVisible(true);}}});btnCadastroProdutos.setBorderPainted(false);btnCadastroProdutos.setContentAreaFilled(false);btnCadastroProdutos.setBorder(null);}returnbtnCadastroProdutos;}}