java - 在线程中运行时,While 循环不起作用

标签 java multithreading mouseevent jnativehook

所以基本上我试图让这个 while 循环在这个线程内运行,当“activate”评估为 true 时它应该激活,但由于某种原因它不起作用。 “activate”是 boolean 值,当用户按下鼠标按钮时激活(我为此设置了监听器)。如果有人想知道我在这个项目中使用 jnativehook 库。任何帮助或解释将不胜感激。

private boolean activate;
private Robot robot;


@Override
public void run() {
    try {
        robot = new Robot();
    } catch (AWTException e) {
        e.printStackTrace();
    }

    while(true) {
        if (activate == true) {
            robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);
            robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
            robot.delay(100);
        }
    }       
}

最佳答案

activate 永远不会设置为 true。 如果您不相信我,请在 while 循环的底部添加这一行:

System.out.println("activate = "+ activate);

关于java - 在线程中运行时,While 循环不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58844377/

相关文章:

c++ - 更快的生产者 关键时刻缓慢的消费者

java - 使用相同的语句对象在多个线程中执行多个查询?

java - 如何以线程安全的方式在 JAX-RS 资源中使用 JerseyClient

java - 在 Java 中将 MouseEvent/MouseListener 链接到 ActionMap/InputMap 绑定(bind)

jquery - 检测鼠标中键单击事​​件 jQuery

java - 在特定时间不活动后注销

Java按单词将行分成2行

java - 在 O(1) 中找到大于 x 的数组值中的第一个索引

google-maps-api-3 - 谷歌地图——在点击事件期间检测metaKey状态?

java - JdbcOdbcPreparedStatement.setLong 抛出 java.sql.SQLException : Optional feature not implemented