【发布时间】:2013-11-21 08:06:28
【问题描述】:
我试图了解在 java 中为按下的键盘键创建 KeyEvent 所涉及的低级过程。
- Java 如何以及在何处处理真正的击键?
- 击键在哪里“进入”JVM?
- 击键如何变成 KeyEvent?
我这样做的目的纯粹是为了了解 java 的内部工作原理。 作为奖励:MouseEvents 的过程是相同、相似还是完全不同?
我已经花了一些时间挖掘源代码。所以这个问题的部分目的是为源和文档提供一些入口点,而不是“awt”(因为 awt 本身很大)。
也许有一些奇异的包包含构成 JNI 层的类?
【问题讨论】:
-
我认为这根本不是 JVM 的一部分,而是您正在使用的 Win32 库的任何包装器。
-
感谢您的意见@Jonathon。将改写问题的一部分以反映这种想法。
-
“我这样做的目的纯粹是为了了解 java 的内部工作原理。” - 阅读源 Luke! 访问 OpenJDK 站点,下载 Java 6 或 7 或 8 的源代码包,解压缩并开始阅读。 (如果你有时间问这样的问题,你就有时间做自己的研究:-))
-
它取决于操作系统,但它是 AWT 库的一部分