Я пытаюсь добавить прослушиватель мыши на свой глобус, используя addMouseListener
. Он не показывает никаких ошибок, я даже могу добавить mouseClicked(MouseEvent e)
, и до сих пор нет ошибок. Но, наконец, когда я пытаюсь получить текущую позицию, используя worldWindowGLCanvas1.getCurrentPosition()
, он показывает NULL, даже если я нажимаю на земной шар или за его пределами... Может ли кто-нибудь помочь мне с этим? Не беспокойтесь о лишних пробелах. Я изменил, так как веб-сайт не принимал мой вопрос :)
отслеживание положения мыши в Java WorldWind
comment
Не могли бы вы добавить свой код в этот пост? У меня еще много вопросов. Я добавил ответ, который работает для меня, но я не уверен, что вы уже сделали. Где вы добавили метод mouseClicked? Смотрите мой ответ и дайте мне знать, если это поможет.
- person lordoku   schedule 28.12.2013
Ответы (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.
person
lordoku
schedule
28.12.2013