我正在尝试使用addMouseListener
向我的地球添加鼠标监听器。它没有显示任何错误,我甚至可以添加mouseClicked(MouseEvent e)
,但仍然没有错误。但最后当我试图使用worldWindowGLCanvas1.getCurrentPosition()
获取当前位置时,它显示为NULL,即使我点击地球或外部......有人可以帮我这样做吗?不要担心额外的空间。我已修改,因为该网站不接受我的问题:)
答案 0 :(得分: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检查以查看它是否会变为null而它没有。此代码的假设是鼠标单击将使地球重新定位到该位置。调用aCanvas.getCurrentPosition()应该返回中心globe。如果画布未呈现或不可见,则此方法将返回null。