Я хотел бы смоделировать естественное движение мыши в Java (переход от одного к другому пиксель за пикселем). Для этого мне нужно знать начальные координаты.
Я нашел метод event.getX () и event.getY (), но мне нужно событие ...
Как я могу узнать позиции, ничего не делая (или чего-то не видимого)?
Спасибо
getPointerInfo().getLocation()
возвращает положение относительно экрана. Если вам нужна позиция относительно вашего компонента (например, заданная MouseListeners), вы можете вычестьyourComponent.getLocationOnScreen()
из нее.Container.getMousePosition()
может иногда возвращаться,null
если мышь движется слишком быстро, это позволяет избежать проблемы.SwingUtilities.convertPointFromScreen(MouseInfo.getPointerInfo().getLocation(), component)
MouseInfo.getPointerInfo()
может возвращать значение null, если нет мыши или в некоторых настройках с несколькими мониторами.SwingUtilities.convertPointFromScreen(..)
первый аргумент преобразуется на месте и ничего не возвращает, поэтому его нужно написать немного по-другому относительно комментария @AndreiVajnaII, чтобы мы могли получитьPoint
объект.источник
В SWT вам не нужно находиться в слушателе, чтобы добраться до местоположения мыши. Объект Display имеет метод
getCursorLocation()
.В ванильном SWT / JFace звоните
Display.getCurrent().getCursorLocation()
.В приложении RCP позвоните
PlatformUI.getWorkbench().getDisplay().getCursorLocation()
.Для приложений SWT предпочтительнее использовать по
getCursorLocation()
сравнению сMouseInfo.getPointerInfo()
упомянутыми другими, поскольку последнее реализовано в наборе инструментов AWT, для замены которого был разработан SWT.источник
источник
источник
Попробуйте взглянуть на класс java.awt.Robot. Это позволяет вам перемещать мышь программно.
источник
Если вы используете Swing в качестве слоя пользовательского интерфейса, вы можете использовать для этого прослушиватель движения мыши .
источник
Я делаю что-то подобное, чтобы получить координаты мыши с помощью Robot, я использую эти координаты в некоторых играх, которые разрабатываю:
источник
Если вы используете SWT, вы можете посмотреть на добавление MouseMoveListener, как описано здесь .
источник
В моем сценарии я должен был открыть диалоговое окно в позиции мыши на основе операции графического интерфейса, выполняемой с помощью мыши. У меня сработал следующий код:
источник