看起来非常简单,但无法找到如何在JFrame外捕获鼠标操作!永久!,机器人只需首先点击或定位。
我有这段代码:
Button btnAllowRect = new Button("Make rectangles");
btnAllowRect.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
frame.setExtendedState(JFrame.HIDE_ON_CLOSE);
Toolkit.getDefaultToolkit().addAWTEventListener(
new DrawRect(), AWTEvent.MOUSE_EVENT_MASK | AWTEvent.FOCUS_EVENT_MASK);
}
});
btnAllowRect.setBounds(200, 38, 110, 22);
contentPane.add(btnAllowRect);
并覆盖方法
@Override
public void eventDispatched(AWTEvent event) {
System.out.print(MouseInfo.getPointerInfo().getLocation() + " | ");
System.out.println(event);
switch(event.getID()){
case MouseEvent.MOUSE_PRESSED & FocusEvent.FOCUS_LOST:
System.out.print(MouseInfo.getPointerInfo().getLocation() + " | ");
System.out.println(event);
break;
case MouseEvent.MOUSE_RELEASED & FocusEvent.FOCUS_LOST:
System.out.print(MouseInfo.getPointerInfo().getLocation() + " | ");
System.out.println(event);
break;
default:
break;
}
}
我需要知道按下鼠标时的坐标以及何时一直在窗外释放。 此代码允许我只捕获JFrame外的第一次单击。鼠标按下和释放时如何获取坐标?谢谢!