我想一个鼠标监听器添加到使用我的地球addMouseListener
。 它不显示任何错误,我甚至能够添加mouseClicked(MouseEvent e)
仍然没有任何错误。 但最后,当我试图让使用当前位置worldWindowGLCanvas1.getCurrentPosition()
它显示NULL,即使我点击地球或外...有人可以帮我做这个? 不要担心多余的空格。 由于网站不接受我的问题,我已经修改了:)
Answer 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!");
}
}
});
我加入了空检查,看它是否会永远得到null,并且它没有。 这段代码使得假设是一个鼠标点击会重新中心地球到那个位置。 调用aCanvas.getCurrentPosition()应返回地球中心。 如果画布上没有呈现或不可见,则此方法将返回null。
文章来源: tracking mouse position on Java WorldWind