我已经开发了虚拟键盘模块,它包含了2类的Java的东西来代替,而(真)环
- KBM(模块本身)(上输入按下设置字符串数据的价值的文字我键入KBMListener和布尔改为真正的KBMListener)
- KBMListener
- 大型机
什么是做大型机:
当我运行程序MainFrame加载GUI并在“public void run()”中启动“while(true)”循环。此循环如下所示:
while(true){
if(status_changed){
jTextArea.setText(getKbml().getData());
getKbml.setStatus_changed(false);
}
sleep(500);
}
布尔型status_changed在键盘监听器中更改。
KBM是虚拟键盘。当用户键入文本并按回车键时,它将字符串数据设置为文本类型,并且在KBMListener中将布尔型status_changed设置为true。
KBML只是将MainFrame与KBM连接起来,并在用户每次点击进入大型机的textarea时从KBM加载键盘。
我想要的是每0.5秒或当按下Enter键时即刻获得大型机的价值。
while循环运行良好,但在1.6GHz双核处理器上CPU使用率为12%左右。 我听说过回调,但我不明白它是如何工作的。我希望有人可以帮助我...请尽量避免文档监听器。
为什么在一段中发布无效的伪代码,而不是发布*实际*代码 - 即使它被简化了 - 作为代码?目前你的问题很难理解。 – 2013-03-24 09:21:35
显示你在代码中尝试过的任何东西..这将比这个大的代码描述更容易理解。 – 2013-03-24 09:22:33
为什么你不想使用DocumentListener - 这在我看来正是你需要实现这个效率。 .. – 2013-03-24 09:23:08