JMenu i ventos

Xavi
30 de Enero del 2004
Buenas tengo un problema. Creo un menu, todo mu guapo el, y a la hora de declarar eventos pues con los jMenuitem me va bien, haciendo un jMenuitem.addActionlistener(this) pero con el JMenu no, no hace nada. Es posible generar eventos cuando se clica un JMenu? Gracias!

mytrol
30 de Enero del 2004
A poco crees que eres el único con ese problema, vahh... no te desanimes, si se puede, para tu buena suerte nuestro compañero del anterior post ignora la existencia de este método, que te ayudará a hacer justo lo que necesitas:

/*
* Test.java
*
* Created on 29 de enero de 2004, 06:21 AM
*/

/**
*
* @author Mytrol
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

public class Test extends JFrame
{
public Test()
{
super("Los Menus si pueden tener acciones");
JMenuBar menubar = new JMenuBar();
JMenu menuAccion = new JMenu("Acción");
JMenuItem elemento = new JMenuItem("Elemento1", 'E');

this.setJMenuBar( menubar );
menubar.add( menuAccion );
menuAccion.add( elemento );

menuAccion.addMenuListener( new MenuListener()
{
public void menuSelected( MenuEvent e )
{
JOptionPane.showMessageDialog( null, "No que no se puede???");
//Obviamente tu decides que hacer aqui
}
public void menuCanceled( MenuEvent e ){}
public void menuDeselected( MenuEvent e ){}
});

this.setSize( 200, 200 );
this.setVisible( true );
}

public static void main ( String [] args )
{
Test test = new Test();
test.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
}
}

A poco es tan difícil???????? Verdad que no?
Espero que te sirva. Cualquier duda a mi correo por favor.

profesorchiflado
30 de Enero del 2004
¿cuando has visto un evento en un Menu?
Pues no.
Los Menús son autonavegables, se despliegan sin necesidad de controlar ningún evento por tanto estos se hacen sobre los MenuItem.
Saludos.