Проблема Jnativehook Mouse Listener (Java) - PullRequest
0 голосов
/ 01 ноября 2018

Я пытаюсь сделать логическое значение 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 Ответ

0 голосов
/ 01 ноября 2018

Вы используете неправильные константы здесь:

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 GUI. Так что измените на

if (nativeMouseEvent.getButton() == NativeMouseEvent.BUTTON1) {

То же самое для других ваших выражений.

...