Meu problema é o seguinte, estou desenvolvendo um sistema (meu primeiro sozinho) e tenho problemas em trocas de janelas, por exemplo, em determinada janela(janela x) há um botão Alterar que tem por Action Performed a abertura de uma nova janela(janela y), Como faço para que quando o botão Alterar for pressionado na janela x e a janela y aparecer, a janela x desapareça?
bom, vc usara o método dispose(), para matar a janela. Então vc pode tentar varias coisas, como instanciar a janela Y e destruir a X no próprio action performed, ou passar a janela X como parametro para a Action/Janela Y, e dar um dispose() de lá.
Bom para dar uma dica mais consistence seria necessário entender como estás estruturando essas trocas de janela!
Flw!
M
mynhok
É exatamente essa a idéia, por exemplo o código do botão alterar é o seguinte
Onde e como eu posso usar o método dispose(); : obs: a janela atual é um frame chamado Produtos.
israel.fonseca
Se vc esta implementando o ActionEvent na classe Produtos....
private void btAlterarActionPerformed(java.awt.event.ActionEvent evt) {
dispose(); //Acho eu que aqui ja funcionaria
AlteraProdutos altprd = new AlteraProdutos();
altprd.setVisible(true);
altprd.setLocation(300,300);
altprd.setResizable(false);
}
Testei aqui por cima num código meu e deveria funcionar.
M
mynhok
Perfeito kara…
eu tava viajando aki como se eu não tivesse dentro de ‘Produto’.
Erro de principiante… nessa eu não caio mais… vlw msm
edpittol
isso funciona pra esse caso?
tenho um frame com uma JMenuBar e quero mudar de panel cada vez q item de menu eh acessado… posso usar isso? se alguem tiver outra solção estou um tempo tentando resolver isso e não consigo. meu codigo eh mais ou menos assim.
publicclassMainextendsJFrame{privateJPanelpanel1;privateJPanelpanel2;privateJPanelpanel3;privateJPanelpanel4;publicMain(){panel1=newJPanel();panel2=newJPanel();panel3=newJPanel();panel4=newJPanel();this.addWindowListener(newBasicWindowMonitor());this.setJMenuBar(montaBarra());this.setSize(800,600);this.setVisible(true);}publicJMenuBarmontaBarra(){JMenuBarbarra=newJMenuBar();JMenuItemitem;JMenumenu=newJMenu("Painéis");menu.add(item=newJMenuItem("Painel 1"));item.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){//transformar o panel1 visível }});menu.add(item=newJMenuItem("Painel 2"));item.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){//transformar o panel2 visível}});menu.add(item=newJMenuItem("Painel 3"));item.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){//transformar o panel3 visível}});menuProduto.addSeparator();menu.add(item=newJMenuItem("Painel 4");item.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){//transformar o panel4 visível}});barra.add(menuProduto);returnbarra;}publicstaticvoidmain(String[]args){Mainmain=newMain();}}
Linkel
isso funciona pra esse caso?
tenho um frame com uma JMenuBar e quero mudar de panel cada vez q item de menu eh acessado… posso usar isso? se alguem tiver outra solção estou um tempo tentando resolver isso e não consigo. meu codigo eh mais ou menos assim.
Fera, se entendi o que você precisa isso não vai funcionar para o seu caso, porque é uma implementação para classes propriamente de interface.
O que você está querendo está relacionado aos menuzinhos que se abrem quando clica em um jMenuBar?
Se for, então resolva isso com a implementação dos Menus PopUp’s agregados…
Abra um tópico específico para esse seu problema e descreva-o melhor para a gente poder te ajudar.
Um abraço!
L
Lys_Marie
Estou fazendo meu primeiro projeto e precisava justamente utilizar um botão para mudar entre uma janela e outra (tipo aqueles botões Próximo e Voltar que tem em muitos programas Desktop)… E encontrei essa dica valiosa aqui. Funciona que é uma beleza.