tracking mouse position on Java WorldWind

拜拜、爱过 提交于 2019-12-11 13:23:13

问题


I am trying to add a mouse listener to my globe using addMouseListener. It does not show any error, I am even able to add a mouseClicked(MouseEvent e), and still no errors. But finally when I am trying to get the current position using worldWindowGLCanvas1.getCurrentPosition() it shows NULL, even if I am clicking on the globe or outside... Can someone help me with doing this? Don't worry about extra spaces. I have modified since the website was not accepting my question :)


回答1:


I'm not sure if this is what you're asking, but this was working for me:

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

        }
    }
});

I added the null check to see if it would ever get null and it did not. The assumption this code is making is that a mouse click will re-center the globe to that position. Calling the aCanvas.getCurrentPosition() should return the center globe. If the canvas is not rendered or isn't visible, then this method would return null.



来源:https://stackoverflow.com/questions/20160420/tracking-mouse-position-on-java-worldwind

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!