java - 如何引起左键单击然后关闭线程?

标签 java multithreading keylistener

    private void runInBackground() {
    new Thread(new Runnable() {

        @Override
        public void run() {
            while (running) {
                try {
                    checkPixel();
                } catch (AWTException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                }
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    }).start();
}

public void stop() {
    this.running = false;
}

public void start() {
    this.running = true;
}

所以我有一些别人提供给我的代码来监视屏幕中间颜色的变化。我想在按下 F9 之类的键后基本上打开/关闭 checkPixel() 但如何在没有 GUI 的情况下做到这一点,因为我似乎找不到任何允许这样做的东西。我相信 KeyListener 只能与 GUI 配合使用?

编辑:好吧,当我检查线程中的像素变化时。一旦检测到像素变化,我想在 checkPixel() 中创建一个“左键单击操作”,然后关闭线程。有什么帮助吗?

最佳答案

我猜您想要 JNativeHook 库提供的功能。 该库允许从后台获取 key 。

关于java - 如何引起左键单击然后关闭线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31704693/

相关文章:

c# - ConcurrentQueue <T>或Queue <T>当一个线程仅入队而另一个线程仅出队

java - 类不是抽象的,不会重写 KeyListener 中的抽象方法 keyReleased(KeyEvent)

java - 在 Java 中移动对象(KeyPressed)

java - Drools 规则过滤数字属性低于列表总数百分比的元素

java - 模拟 android.content.res.Configuration 类型的对象并为其分配语言环境

java - 使用 Scanner 时出现 NoSuchElementException

C# KeyEventArgs 在大写打开时给出错误的输出

java - 自定义 OpenVR 驱动程序,带有抖动的 android 旋转

java - AsyncTaks 的受控执行

c# - Form.Show() 没有显示它的子控件