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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Desface coordenadas eventos ratón (deseperado)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Desface coordenadas eventos ratón (deseperado)  (Leído 5,259 veces)
dusttin

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Desface coordenadas eventos ratón (deseperado)
« en: 4 Marzo 2010, 20:26 pm »

Hola,

estoy con el PFC y lo hago en java y tengo un error tontisimo con la captura de las coordenadas del ratón mediante los métodos MouseListener  y MouseMotionListener.

El problema es que  actionEvent  no me devuelve las coordenadas de la punta del ratón, sino que hay un desface hacia abajo y hacia la derecha.

Os pongo el código de ejemplo para ver si es que yo no defino bien las clases:


Código clase jframe:


import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.JFrame;
import javax.swing.JPanel;
public class Escritorio extends JFrame implements MouseListener{
   private static final long serialVersionUID = 1L;
   public Escritorio(){
      this.setSize(800,600);
      this.setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
      this.addMouseListener(this);
      //this.pack();   
   }
   
   
   public static void main(String[] args) {
      // TODO Auto-generated method stub
      java.awt.EventQueue.invokeLater(new Runnable(){
         public void run(){
            new Escritorio().setVisible(true);
         }
      });
   }
   

   public void mouseClicked(MouseEvent e) {
      // TODO Auto-generated method stub
      this.getContentPane().add(new puerta(e.getX(), e.getY()));
      this.repaint();
      
   }

Código clase JLabel ;

import javax.swing.JFrame;
import javax.swing.JLabel;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Point;

public class puerta extends JLabel{
   private static final long serialVersionUID = 1L;
      
      public puerta(int x, int y){
         
         this.setLocation(x,y);
         this.setSize(50,50);
         
      }
      
      public void paint(Graphics g){
         g.setColor(Color.BLACK);
         g.fillRect(0,0,getWidth()-1,getHeight()-1);
         super.paint(g);
      }
      
      
}

esto es un ejemplo, si lo solucionamos aquí luego aplico la solución al otro código.
En este código también me pasa lo mismo.




En línea

Leyer


Desconectado Desconectado

Mensajes: 786


leyer@elhacker.net


Ver Perfil WWW
Re: Desface coordenadas eventos ratón (deseperado)
« Respuesta #1 en: 5 Marzo 2010, 00:04 am »

Podrias intentar cambiando los valores

Código
  1.  this.add(new puerta(e.getX()-30, e.getY()-30));

un Saludo.


« Última modificación: 5 Marzo 2010, 05:05 am por LEYER » En línea

dusttin

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Desface coordenadas eventos ratón (deseperado)
« Respuesta #2 en: 6 Marzo 2010, 12:06 pm »

Si, eso ya lo he probado, pero si le meto el desface manualmente, cuando lo pongo en otro ordenador, no sé sí será por la resolución, cambia.

De todas maneras las coordenadas del ratón deberían ser la de la punta, no entiendo que estoy haciendo mal. 

A ver si alguién se le ocurre que puede estar mal.
En línea

Leyer


Desconectado Desconectado

Mensajes: 786


leyer@elhacker.net


Ver Perfil WWW
Re: Desface coordenadas eventos ratón (deseperado)
« Respuesta #3 en: 6 Marzo 2010, 20:35 pm »

Tienes que agregar el listerner del mouse al component puerta y no al frame creo que hay radica el error luego agregas puerta al frame,despues en el componente ṕuerta colocas addMouseListener(this);  obtienes los valores optenidos en "x" y "y" y en  g.fillRect(0,0,50,50); en los 0 agregas "x" y "y" y despues remover e super, Asi si se optendran los valores correctamente ya lo he probado :P

Un Saludo,
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[VBS] ¿Como obtener las coordenadas del ratón?
Scripting
serginmatonis 0 2,481 Último mensaje 8 Febrero 2012, 21:22 pm
por serginmatonis
vivo en un instituto PS3 Y DANSGUARDIAN ayuda deseperado!!
Redes
galloglass 1 2,767 Último mensaje 15 Agosto 2012, 23:04 pm
por el-brujo
Error al coger coordenadas del ratón con FreeGlut
Programación C/C++
kaostias 4 3,146 Último mensaje 30 Octubre 2013, 20:40 pm
por kaostias
Eventos de ratón y cuadros de texto en Java
Java
niano 1 2,084 Último mensaje 5 Julio 2019, 10:25 am
por niano
Coordenadas de ratón al pulsar
Java
fileteruso 1 2,388 Último mensaje 11 Diciembre 2019, 22:07 pm
por fileteruso
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines