1

我正在尝试使用 jnativehooks 更新我的 GUI(例如通过热键更改 jButton 和 jLabel 的文本/颜色),因此当我按下热键时它会更新我的 GUI,但是经过数小时的搜索和尝试,我仍然没有任何运气。

我已经尝试过重新验证/验证/重新绘制等,但似乎没有工作(它调用热键 f9 并在该部分中运行脚本很好,因为它打印出 system.out),我是一个新手,所以我必须是缺少一些简单的东西:(

这是我的项目(从头开始,所以只有必需品,使用 jnativehook 库):https ://www.dropbox.com/sh/keyp0tb2nobjg8t/AABOUQFqBWETRoX9D1vtcZe2a?dl=0

main.java:https://www.dropbox.com/sh/keyp0tb2nobjg8t/AAA0aib7y_k0uKtJ4sbnYHN7a/src?dl=0&preview=Main.java _

任何帮助,将不胜感激。

无法查看 dropbox 的任何人的主类代码:https ://hastebin.com/uqarilawop.java (缩进太多,无法在 stackoverflow 上发布,因为我不知道我错过了什么)

4

1 回答 1

0

对于 Swing,您没有以线程安全的方式使用该库。所有 UI 事件都发生在 Swing Dispatch 线程上,因此您需要切换本机库以使用 Swing 而不是其内置的调度程序!请参阅https://github.com/kwhat/jnativehook/wiki/Swing

// Set the event dispatcher to a swing safe executor service. GlobalScreen.setEventDispatcher(new SwingDispatchService());

于 2017-06-05T18:04:16.747 回答