elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Problema con un JMenuItem, no escucha evento de mouse (ya Solucionado)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con un JMenuItem, no escucha evento de mouse (ya Solucionado)  (Leído 3,262 veces)
DarkSorcerer

Desconectado Desconectado

Mensajes: 69



Ver Perfil
Problema con un JMenuItem, no escucha evento de mouse (ya Solucionado)
« en: 21 Julio 2013, 06:28 am »

ACTUALIZACION: Ya encontre la solucion, implemente ActionListener

De todas maneras, dejo el codigo de mi error anterior, si alguien me dice si es posible tambien hacerlo por mouse, se los agradeceria.

Mi problema (que ya fue solucinado :D)


Estoy creando un programa que se trata de imitar al Paint, el programa es simple, consta de un Lienzo heredado de JPanel y una Ventana que contiene las herramientas, quize ponerle JMenu dentro de un JMenuBar que los contiene, y cada menu tiene diferentes tipos de JMenuItem, pero el problema es que no me escucha el llamado de mouseClicked, pero curiosamente, si me obedece otros, por ejemplo, le puse una barra inferior que muestra las coordenadas del puntero en el panel y si me hace caso .

Les dejo el codigo de la clase Ventana, ojala puedan ayudarme.

Código
  1. package programa1;
  2.  
  3. import javax.swing.JFrame;
  4. import javax.swing.JMenuBar;
  5. import javax.swing.JMenu;
  6. import javax.swing.JMenuItem;
  7. import javax.swing.JLabel;
  8. import javax.swing.JPanel;
  9. import java.awt.event.MouseAdapter;
  10. import java.awt.event.MouseMotionListener;
  11. import java.awt.event.MouseEvent;
  12. import java.awt.BorderLayout;
  13.  
  14. public class Ventana extends JFrame {
  15.  
  16.    private JMenuBar barraSuperior;
  17.    private JPanel panelInferior;
  18.    private JLabel barraInferior;
  19.  
  20.    private JMenu archivo;
  21.    private JMenu editar;
  22.    private JMenu colores;
  23.    private JMenu formas;
  24.    private JMenu achurado;
  25.    private JMenu ayuda;
  26.  
  27.    private JMenuItem nuevo;
  28.    private JMenuItem salir;
  29.  
  30.    private JMenuItem deshacer;
  31.    private JMenuItem rehacer;
  32.  
  33.    private Lienzo pizarron;
  34.  
  35.    public Ventana(){
  36.  
  37.        super("Paint v2.0");
  38.  
  39.        //Creando el pizarron y las barras
  40.  
  41.        pizarron = new Lienzo();
  42.        barraSuperior = new JMenuBar();
  43.        panelInferior = new JPanel();
  44.        panelInferior.setLayout(new BorderLayout());
  45.        barraInferior = new JLabel("Dibuje en el panel blanco");
  46.        panelInferior.add(barraInferior);
  47.  
  48.        //Creacion de los menus
  49.  
  50.        archivo = new JMenu("Archivo");
  51.        editar = new JMenu("Editar");
  52.        colores = new JMenu("Colores");
  53.        formas = new JMenu("Formas");
  54.        achurado = new JMenu("Achurado");
  55.        ayuda = new JMenu("Ayuda");
  56.  
  57.        //Creacion de los items de cada menu
  58.  
  59.        nuevo = new JMenuItem("Nuevo");
  60.        salir = new JMenuItem("Salir");
  61.        deshacer = new JMenuItem("Deshacer");
  62.        rehacer = new JMenuItem("Rehacer");
  63.  
  64.        //Agregando items a los menus respectivos
  65.  
  66.        archivo.add(nuevo);
  67.        archivo.add(salir);
  68.  
  69.        editar.add(deshacer);
  70.        editar.add(rehacer);
  71.  
  72.        //Construyendo la barra de menus
  73.  
  74.        barraSuperior.add(archivo);
  75.        barraSuperior.add(editar);
  76.        barraSuperior.add(colores);
  77.        barraSuperior.add(formas);
  78.        barraSuperior.add(achurado);
  79.        barraSuperior.add(ayuda);
  80.  
  81.        //Agregando las barras y lienzo.
  82.  
  83.        setJMenuBar(barraSuperior);
  84.        add(pizarron,BorderLayout.CENTER);
  85.        add(panelInferior,BorderLayout.SOUTH);
  86.  
  87.        EventoMouse evento1 = new EventoMouse();
  88.        salir.addMouseListener(evento1);
  89.        pizarron.addMouseListener(evento1);
  90.        pizarron.addMouseMotionListener(evento1);
  91.  
  92.        setSize(500,500);
  93.        setResizable(false);
  94.        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  95.        setVisible(true);
  96.  
  97.    }
  98.  
  99.    private class EventoMouse extends MouseAdapter implements MouseMotionListener {
  100.  
  101.        public void mouseClicked(MouseEvent e){
  102.  
  103.            if(salir.isSelected()){
  104.  
  105.                System.exit(0);
  106.  
  107.            }
  108.  
  109.        }
  110.  
  111.        public void mouseEntered(MouseEvent e){
  112.  
  113.            if(e.getSource().equals(pizarron)){
  114.  
  115.                barraInferior.setText(String.format("%d , %d",e.getX(),e.getY()));
  116.  
  117.            }
  118.  
  119.        }
  120.  
  121.        public void mouseMoved(MouseEvent e){
  122.  
  123.            if(e.getSource().equals(pizarron)){
  124.  
  125.                barraInferior.setText(String.format("%d , %d",e.getX(),e.getY()));
  126.  
  127.            }
  128.        }
  129.  
  130.        public void mouseDragged(MouseEvent e){
  131.  
  132.            if(e.equals(pizarron)){
  133.  
  134.                barraInferior.setText(String.format("%d , %d",e.getX(),e.getY()));
  135.  
  136.            }
  137.        }
  138.  
  139.    }
  140.  
  141.  
  142. }
  143.  


« Última modificación: 21 Julio 2013, 06:56 am por DarkSorcerer » En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Problema con un JMenuItem, no escucha evento de mouse (ya Solucionado)
« Respuesta #1 en: 23 Julio 2013, 12:19 pm »

El mensaje 'Problema con un JMenuItem, no escucha evento de mouse (ya Solucionado)' fue bloqueado
Post solucionado!
Leer reglas:
http://foro.elhacker.net/reglas


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines