有没有办法将事件分配给整个屏幕或......?

时间:2014-02-16 14:12:42

标签: java awt

所以这是我的代码:

public void mouseMoved(MouseEvent e){
    int mouseX = e.getX();
    int mouseXout = MouseInfo.getPointerInfo().getLocation().x;
    int width = pnlTrapIt.getWidth();

    int mouseY = e.getY();
    int mouseYout =  MouseInfo.getPointerInfo().getLocation().y; 
    int height= pnlTrapIt.getHeight();

    if(width < mouseXout && height < mouseYout) { 
        lblInfo.setText("The mouse is outside the program!");   
    }
}

现在我想要它做的是,将此事件应用于整个屏幕分辨率,因为我希望程序在鼠标位于程序表单之外时执行某些操作。即使面板小于屏幕,如何将此代码应用于整个屏幕?

1 个答案:

答案 0 :(得分:0)

虽然有限但可能:

为焦点事件添加AWTEventListener。只要您的应用在点击按钮之前有焦点,您就会收到焦点丢失事件。然后查询指针位置。

限制是,当然,您的应用程序失去了焦点。因此,根据您最终要实现的目标,这可能没有用。

显然,这只会注册屏幕外的第一次点击。

了解更多here