我开发了虚拟键盘模块,它包含 2 个类
- KBM(模块本身)(在输入时它将字符串数据的值设置为我在 KBMListener 中键入的文本,并且布尔值在 KBMListener 中更改为 true)
- 知识库监听器
- 主机
mainFrame 在做什么:
当我运行程序 MainFrame 加载 GUI 并在“public void run()”中启动“while(true)”循环。这个循环看起来像:
while(true){
if(status_changed){
jTextArea.setText(getKbml().getData());
getKbml.setStatus_changed(false);
}
sleep(500);
}
布尔状态_changed 在键盘侦听器中更改。
KBM 是虚拟键盘。当用户键入文本并按下回车键时,它会将字符串数据设置为文本类型,并且在 KBMListener 中将 boolean status_changed 设置为 true。
KBML 只是将 MainFrame 与 KBM 连接起来,并在用户每次点击 mainframe 中的 textarea 时从 KBM 加载键盘。
我想要的是每 0.5 秒或按下回车键时立即为大型机获取价值。
虽然循环运行良好,但在 1.6GHz 双核处理器上 CPU 使用率约为 12%。我听说过回调,但我不明白它是如何工作的。我希望有人可以帮助我...请尽量避免文件监听器。