我正在尝试使用addMouseListener将鼠标侦听器添加到我的地球仪中。它不显示任何错误,我甚至可以添加一个mouseClicked(MouseEvent e),而且仍然没有错误。但是最后,当我试图使用worldWindowGLCanvas1.getCurrentPosition()获得当前位置时,它显示为NULL,即使我正在单击全球或外部.有人能帮我做这个吗?别担心多余的空间。由于该网站不接受我的问题,我已作出修改:)
发布于 2013-12-28 15:30:32
我不知道这是不是你想要的,但这对我有用:
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()应该返回中心地球仪。如果画布未呈现或不可见,则此方法将返回null。
https://stackoverflow.com/questions/20160420
复制相似问题