Olá Pessoal, vou tentar explicar o meu problema.
Fiz uma janela JDesktopFrame com menus que chamam outras janelas.
Essas outras janelas, estão em classes diferentes da classe principal. Em uma das janelas, inseri botões, mas na hora de inserir o ActionListiner do botão, aparece um erro dizendo que o metodo ActionListiner eh um tipo abstrato de botão que nao é valido para o argumento da classe.
Alguém pode me ajudar?
JMenuBarmnubarJavaxe=newJMenuBar();// Adcionando a barra de menussetJMenuBar(mnubarJavaxe);// Menu ArquivomnuArquivo=newJMenu("Arquivo",true);// Criando o menumnubarJavaxe.add(mnuArquivo);JMenuItemChamaClasse=newJMenuItem("Chama Minha CLasse");ChamaClasse.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){MinhaOutraClasseminhaoutraclasse=newMinhaOutraClasse();MeuDesktopPane.add(minhaoutraclasse);minhaoutraclasse.show();}});mnuArquivo.add(ChamaClasse);
L
lislainePJ
Agradeco muito sua ajuda, mas olha soh, fiz conforme vc me mandou, soh q eu nao tenho acesso ao “desktop” da outra classe, como vou adicionar essa janela nele?? tipo assim
eu alterei um exemplo aqui que eu tenho pra fazer isso que voce quer, ele ta bem simples e acho que nao precisa de muita explicacao, mas qualquer dúvida é só postar aqui que eu respondo...... eu fiz a classe principal e uma classe jframeinterna que é chamada pela principal....
importjava.awt.event.*;importjavax.swing.*;publicclassApJavaextendsJFrame{privateJMenuBarbarPrincipal;// Menu da aplicaçãoprivateJMenuItemitens;privateJDesktopPaneMeuDesktopPane=newJDesktopPane();publicApJava(){this.setContentPane(MeuDesktopPane);JMenuBarmnubarJavaxe=newJMenuBar();// Adcionando a barra de menus setJMenuBar(mnubarJavaxe);JMenumnuArquivo;// Menu Arquivo mnuArquivo=newJMenu("Arquivo",true);// Criando o menu mnubarJavaxe.add(mnuArquivo);JMenuItemChamaClasse=newJMenuItem("Chama Minha CLasse");ChamaClasse.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){MinhaOutraClasseminhaoutraclasse=newMinhaOutraClasse();MeuDesktopPane.add(minhaoutraclasse);minhaoutraclasse.show();}});mnuArquivo.add(ChamaClasse);resize(500,300);show();}publicstaticvoidmain(Stringargs[]){finalApJavaapp=newApJava();app.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});}}
Classe do frame interno----
importjava.awt.Container;importjavax.swing.JButton;importjavax.swing.*;publicclassMinhaOutraClasseextendsJInternalFrame{privateJButtonbotao;publicMinhaOutraClasse(){super("Minha classe interna",false,true,false,true);setSize(350,235);ContainercontentPane=this.getContentPane();botao=newJButton("HAAAAA");contentPane.add(botao);}}