用JNativeHook更新gui?

时间:2017-04-15 21:09:50

标签: java jnativehook

我正在尝试使用jnativehooks更新我的GUI(例如通过热键更改jButton和jLabel的文本/颜色),以便在我按热键时更新我的​​GUI,但是经过数小时的搜索和尝试,我&# 39; m仍然没有运气。

我已经尝试了revalidate / validate / repaint等但是似乎没有工作(它调用热键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上发布的内容太多,因为我不知道我错过了什么)

1 个答案:

答案 0 :(得分:0)

您没有以Thread安全方式使用该库进行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());