我目前正在尝试使用 Java 制作一个换档键持有人,使用重音作为切换键,而机器人是我能找到的唯一简单的方法。该程序执行顾名思义,并为我按住 shift 键。如果您想知道这将在哪里有用,请制作用于星界建筑的程序,因为有大写锁定。但是,当使用机器人时,我必须抛出一些异常,但它们随后会出现在我称之为 void 的地方
我找不到任何解决方案,可能是因为我正在使用 JNativeHook 库来创建一个对坟墓符号做出反应的键盘记录器。我还是个新手,我从网上的片段中拼凑了很多。
这就是我的错误的来源,完整的程序在这里可用 我会发布一个最小的可重现示例,但我不能,因为我不知道哪些部分对这一部分的功能至关重要。
//tried to put throws in nativeKeyPressed to get rid of the exceptions but then that gives me an exception saying i can't do that because it causes clashing
public void nativeKeyPressed(NativeKeyEvent e){
System.out.println("Key Pressed: " + NativeKeyEvent.getKeyText(e.getKeyCode()));
if (e.getKeyCode() == NativeKeyEvent.VC_BACKQUOTE) {
toggle(); //get IOException, AWTException, and InterruptedException whenever i put throws on my toggle() void
}
}
//throw exceptions so robot has no conflicts
public static void toggle() throws IOException, AWTException, InterruptedException{
bool = !bool;
Robot r = new Robot();
if (bool = true) {
} else if (bool = false) {
}
我希望它没有错误,但Robot()
如果我不抛出它们就会有异常,并且toggle();
有我抛出的任何异常public static void toggle()
。我对机器人以外的方法持开放态度,但我找不到其他方法。