ActionListiner

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?

Valeu

Lislaine

algo tipo assim…

JMenuBar mnubarJavaxe = new JMenuBar(); // Adcionando a barra de menus
    setJMenuBar(mnubarJavaxe);

	// Menu Arquivo
    mnuArquivo = new JMenu("Arquivo", true); // Criando o menu
    mnubarJavaxe.add(mnuArquivo);

    JMenuItem ChamaClasse = new JMenuItem("Chama Minha CLasse");
    ChamaClasse.addActionListener( new ActionListener(){
       public void actionPerformed( ActionEvent e){
	         MinhaOutraClasse minhaoutraclasse = new MinhaOutraClasse();
				MeuDesktopPane.add(minhaoutraclasse);
				minhaoutraclasse.show();
       }
     }
    );
    mnuArquivo.add(ChamaClasse);

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

public void actionPerformed(ActionEvent e){
Preferencias frame = new Preferencias();
desktop.add(frame);
}

O desktop eu soh tenho na outra classe…q seria a classe principal q chama essa…deu pra entender??

Obrigada

Estou com o mesmo problema que você, portanto se puder gostaria que me enviasse o arquivo para mim, por favor!

Assim poderei averiguar o seu problema e quem sabe envia a resolução do mesmo.

Sendo assim lhe aguardo! :grin:


Cléo Nascimento
cleo.nascimento@gmail.com

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…

[code]import java.awt.event.;
import javax.swing.
;

public class ApJava extends JFrame {
private JMenuBar barPrincipal; // Menu da aplicação
private JMenuItem itens;
private JDesktopPane MeuDesktopPane = new JDesktopPane ();

public ApJava()
{
this.setContentPane(MeuDesktopPane);
JMenuBar mnubarJavaxe = new JMenuBar(); // Adcionando a barra de menus
setJMenuBar(mnubarJavaxe);
JMenu mnuArquivo;

// Menu Arquivo
mnuArquivo = new JMenu(“Arquivo”, true); // Criando o menu
mnubarJavaxe.add(mnuArquivo);

JMenuItem ChamaClasse = new JMenuItem("Chama Minha CLasse"); 
ChamaClasse.addActionListener( new ActionListener(){ 
   public void actionPerformed( ActionEvent e){ 
        MinhaOutraClasse minhaoutraclasse = new MinhaOutraClasse(); 
        MeuDesktopPane.add(minhaoutraclasse); 
        minhaoutraclasse.show(); 
   } 
 } 
); 
mnuArquivo.add(ChamaClasse);

resize(500, 300);
show();
}
public static void main( String args[] )
{
final ApJava app = new ApJava();

 app.addWindowListener(
    new WindowAdapter() {
       public void windowClosing( WindowEvent e )
       {
         System.exit( 0 );
       }
    }
 );

}
}[/code]

Classe do frame interno----

[code]import java.awt.Container;

import javax.swing.JButton;
import javax.swing.*;

public class MinhaOutraClasse extends JInternalFrame {
private JButton botao;
public MinhaOutraClasse(){
super (“Minha classe interna”, false, true, false, true);
setSize (350, 235);
Container contentPane = this.getContentPane();
botao = new JButton(“HAAAAA”);
contentPane.add(botao);

}

}
[/code]