Tengo el siguiente codigo, que basicamente lo que hace es crear un JFrame donde se le coloca un JPanel, donde dibuja las coordenadas del mouse y un circulo.
El codigo:
Código Java:
Ver originalpackage pruebas;
import java.awt.Canvas;
import java.awt.Component;
import java.awt.Graphics;
import java.awt.MouseInfo;
import java.awt.Point;
import java.awt.PointerInfo;
import javax.swing.*;
public class Mouse1 {
public static void main
(String[] args
) {
Frame1 frame1 = new Frame1();
while(true){
frame1.canvas1.leer_mouse();
frame1.canvas1.repaint();
}
}
}
@SuppressWarnings("serial")
Canvas1 canvas1 = new Canvas1();
public Frame1(){
a.setBounds(100, 100, 250, 200);
a.setVisible(true);
a.
setDefaultCloseOperation(JFrame.
EXIT_ON_CLOSE); a.setResizable(false);
a.add(canvas1);
}
}
@SuppressWarnings("serial")
private int x, y;
//super.paint(g);
g.drawString("Hola mundo", 0, 0);
g.drawString("X:" + x , 10, 20);
g.drawString("Y:" + y , 10, 60);
g.drawOval(x-100, y-100, 12, 12);
}
public void leer_mouse(){
PointerInfo info_mouse;
info_mouse = MouseInfo.getPointerInfo();
coord_mouse = info_mouse.getLocation();
x = coord_mouse.x;
y = coord_mouse.y;
}
}
Mi problema está en que el circulo se dibuja en el (0,0) del monitor y no en la ventanita, osea, en el JFrame. Cómo podría hacer para que siga al mouse correctamente?
Acá dejo una imagen descriptiva del problema, no se ve el raton, pero ahí está en el punto (0,0) de la ventana y como ven, el circulo se dibuja defasado