Cześć.
Mam pewien kłopot mianowicie chciałem sobie śledzić klikanie myszką na ekranie. Idąc za przykładami z internetu (również z forum) zrobiłem sobie przeźroczystego Frama-a i klasą Robot próbuję przekazać kliknięcie. udaje się na debugerze natomiast podczas normalnego działania już nie bardzo. Może ktoś mi wytłumaczy dlaczego
pozdrawiam
import java.awt.AWTException;
import static java.awt.Frame.MAXIMIZED_BOTH;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JFrame;
import java.awt.Robot;
import java.awt.event.InputEvent;
/**
*
* @author w.maciejewski
*/
public class JKlasa extends JFrame implements MouseListener {
private int licz=0;
Robot robot ;
public JKlasa() throws AWTException{
this.setExtendedState(MAXIMIZED_BOTH);
this.setUndecorated(true);
this.setVisible(true);
this.setOpacity(0.01f);
setDefaultCloseOperation(EXIT_ON_CLOSE);
addMouseListener(this);
robot = new Robot();
}
@Override
public void mouseClicked(MouseEvent me) {
licz+=1;
System.out.println(licz);
}
@Override
public void mousePressed(MouseEvent me) {
System.out.println("nacisk");
this.setVisible(false);
if(me.getButton()==3){
robot.mousePress(InputEvent.BUTTON3_DOWN_MASK);
robot.mouseRelease(InputEvent.BUTTON3_DOWN_MASK);
}
else{
robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);
robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
}
this.setVisible(true);
}
@Override
public void mouseReleased(MouseEvent me) {
System.out.println("puszczenie");
/* this.setVisible(false);
if(me.getButton()==3)
robot.mouseRelease(InputEvent.BUTTON3_DOWN_MASK);
else
robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
this.setVisible(true);
*/
}
@Override
public void mouseEntered(MouseEvent me) {
}
@Override
public void mouseExited(MouseEvent me) {
}
}