Java 使用JNA聚焦外部窗口(shell)

Java 使用JNA聚焦外部窗口(shell),java,java-native-interface,jna,Java,Java Native Interface,Jna,我想通过使用JNA(或JNI)了解xterm标题来获得对xterm的关注。目前我正在使用xdotools,但我想改用纯Java。可能吗?怎么做 注意:我使用的是ubuntu 11.10谢谢你的提问(+1)。我不知道xdotools。请原谅我的问题,但你为什么要这样做?xdotools使用本机API,因此使用它只会节省时间。在执行exec(“xdotool windowactivate xxx”)之类的命令时,获取返回的字符串有一个问题;exec(“xdotool ls-a型”);exec(“xd

我想通过使用JNA(或JNI)了解xterm标题来获得对xterm的关注。目前我正在使用xdotools,但我想改用纯Java。可能吗?怎么做


注意:我使用的是ubuntu 11.10

谢谢你的提问(+1)。我不知道xdotools。请原谅我的问题,但你为什么要这样做?xdotools使用本机API,因此使用它只会节省时间。在执行exec(“xdotool windowactivate xxx”)之类的命令时,获取返回的字符串有一个问题;exec(“xdotool ls-a型”);exec(“xdotool键\“返回\”);对于最后一行,我无法获得ls-a的结果字符串…为什么不直接使用Runtime.exec()调用“ls-a”并从流程输出流读取?我的一个xterm已经启动,实际上是来自另一个平台的重定向显示。我需要在其中写入输入,我找到的唯一解决方案是xdotool或java Robot类。Java Robot类需要一个我找不到的焦点窗口方法。该项目在Robot顶部提供了一个库(包括一个焦点方法),但基本上您需要将鼠标移动到窗口所在的位置,然后单击。这可以处理点击对焦和鼠标模式下的对焦,只要窗口不被遮挡。谢谢你的提问(+1)。我不知道xdotools。请原谅我的问题,但你为什么要这样做?xdotools使用本机API,因此使用它只会节省时间。在执行exec(“xdotool windowactivate xxx”)之类的命令时,获取返回的字符串有一个问题;exec(“xdotool ls-a型”);exec(“xdotool键\“返回\”);对于最后一行,我无法获得ls-a的结果字符串…为什么不直接使用Runtime.exec()调用“ls-a”并从流程输出流读取?我的一个xterm已经启动,实际上是来自另一个平台的重定向显示。我需要在其中写入输入,我找到的唯一解决方案是xdotool或java Robot类。Java Robot类需要一个我找不到的焦点窗口方法。该项目在Robot顶部提供了一个库(包括一个焦点方法),但基本上您需要将鼠标移动到窗口所在的位置,然后单击。这可以处理点击对焦和鼠标模式下的对焦,只要窗口不被遮挡。