我正在尝试在 java 程序中打开 chm 文件。现在,我希望当我在整个程序中的任何位置按下 Ctrl+h 时打开此 chm 文件。
我正在使用以下代码打开 chm 文件并且它正在工作。问题是在整个项目中使用 Ctrl+h 打开文件。
public class Testproject {
public static void main(String[] args) {
try {
Runtime.getRuntime().exec("hh.exe path of the chm file here/abc.chm");
}
catch(Exception ex) {
System.out.println("exceptioin is"+ex);
}
}
}
最佳答案
大多数添加键绑定(bind)的方法都是在每个组件的基础上进行的,因此您必须为所有顶级窗口(可能包括对话框)创建绑定(bind),这将非常烦人。因此,您必须在事件调度系统的某个中心位置获取事件。
一种可能的方式似乎是 Toolkit.addAWTEventListener
,使用自定义监听器作为第一个参数和 KEY_EVENT_MASK
作为第二个。以这种方式注册的监听器应该收到所有击键的通知,因此您可以将它们转换到 KeyEvent
并检查它们是否为 Ctrl+h 并采取相应行动。
关于java - 整个应用程序中的全局键绑定(bind)可通过 ctrl+h 打开 chm 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15541563/