2013-11-23 136 views
1

我正在嘗試使用addMouseListener向我的地球添加鼠標偵聽器。它不顯示任何錯誤,我甚至能夠添加mouseClicked(MouseEvent e),並且仍然沒有錯誤。但最後,當我試圖使用worldWindowGLCanvas1.getCurrentPosition()獲取當前位置時,它顯示NULL,即使我點擊全球或外部...有人可以幫助我這麼做嗎?不要擔心多餘的空間。我已經修改,因爲該網站沒有接受我的問題:)在Java上跟蹤鼠標位置WorldWind

+0

你可以添加你的代碼到這個職位?我仍然有很多問題。我添加了一個適合我的答案,但我不確定你已經完成了什麼。你在哪裏添加了一個mouseClicked方法?看到我的答案,並讓我知道如果有幫助。 – lordoku

回答

1

我不知道如果這是你在問什麼,但是這是爲我工作:

final WorldWindowGLCanvas aCanvas = new WorldWindowGLCanvas(); 
aCanvas.setModel(new BasicModel()); 
aCanvas.getInputHandler().addMouseListener(new MouseAdapter() { 
    @Override 
    public void mouseClicked(MouseEvent pE) { 

     Position aCurrentPosition = aCanvas.getCurrentPosition(); 

     //Or whatever work:  
     if(aCurrentPosition != null) { 

      System.out.println("Current Pos= " + aCurrentPosition); 

     } else { 

      System.out.println("Current Pos is null!"); 

     } 
    } 
}); 

我加空校驗看看它是否會變爲空,而不是。這個代碼的假設是鼠標點擊會將地球重新定位到該位置。調用aCanvas.getCurrentPosition()應返回中心球體。如果畫布未呈現或不可見,則此方法將返回null。