Проблема Jnativehook Mouse Listener (Java)
Я пытаюсь сделать логическое значение true, когда я удерживаю левую кнопку мыши, и сделать его ложным, когда я этого не делаю, я пытаюсь использовать "Jnativehook" Mouse Listener "( https://github.com/kwhat/jnativehook/wiki/Mouse), но логическое значение не меняется.
Код:
package me.ordinals;
import org.jnativehook.mouse.*;
import java.awt.event.InputEvent;
public class mouseHandler implements NativeMouseListener {
@Override
public void nativeMouseClicked(NativeMouseEvent nativeMouseEvent) {
}
@Override
public void nativeMousePressed(NativeMouseEvent nativeMouseEvent) {
if (nativeMouseEvent.getButton() == InputEvent.BUTTON1_DOWN_MASK) {
ac.getInstance().setToggled(true);
}
}
@Override
public void nativeMouseReleased(NativeMouseEvent nativeMouseEvent) {
if (nativeMouseEvent.getButton() == InputEvent.BUTTON1_DOWN_MASK) {
ac.getInstance().setToggled(false);
}
}
}
1 ответ
Вы используете неправильные константы здесь:
if (nativeMouseEvent.getButton() == InputEvent.BUTTON1_DOWN_MASK) {
Если вы посмотрите на NativeMouseEvent API, getButton () вернет 1, если нажата кнопка 1:
/** Indicates mouse button #1; used by getButton(). */
public static final int BUTTON1 = 1;
Вы используете java.util.InputEvent
константы, чье значение равно 1024, и которые не используют правильную, даже если это был графический интерфейс Swing. Так что поменяйте на
if (nativeMouseEvent.getButton() == NativeMouseEvent.BUTTON1) {
То же самое для других ваших выражений.