2014-02-16 59 views
-1

所以這是我的代碼:有沒有辦法將事件分配給整個屏幕或...?

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!"); 
    } 
} 

現在我想要它做的是,本次活動適用於整個屏幕分辨率,因爲我想要的程序做一些事情,當鼠標是程序的形式之外。即使面板小於屏幕,我如何將此代碼應用於整個屏幕?

+0

可能重複[如何獲取鼠標點擊的座標我在Java的窗外](http://stackoverflow.com/questions/2419555/how-to-obtain-mouse-click-coordinates -outside - 我的窗口式的Java) –

回答

0

這是可能的,雖然限制:

添加一個AWTEventListener焦點事件。只要你的應用在點擊按鈕之前有焦點,你就會收到焦點丟失的事件。然後查詢指針的位置。

這個限制是,當然,你的應用程序失去了重點。所以取決於你最終試圖達到的目標可能沒有用處。

顯然,這隻會註冊第一次點擊屏幕外。

更多here

相關問題