Java KeyEvent&语法突出显示

时间:2010-11-11 00:43:18

标签: java keyevent lexical-analysis

我正在编写一个用Java强调文本编辑器的语法,我遇到了一些问题,我应该做什么而不是我想做什么。基本上,KeyEvent类为我提供了一些问题:

  1. KeyTyped不允许我使用ID 钥匙是什么,所以没用 词法。
  2. KeyPressed更好,它允许我 在按下时键入每个键 然而,这对乐兴来说很棒 它会在键之前触发事件 实际上是投入了 JEdi​​torPane中。
  3. KeyReleased解决了这个问题 KeyPressed& KeyTyped就是这样 在角色出现后发生 输入,它允许我实际 ID是角色是什么。但是如果 我拿着'a',它放入50'一个, 我搞砸了。
  4. 我对此问题的解决方案是对所有要输入的字符使用KeyPressed,使用事件,读取应该输入的字符并手动输入,但我猜这不是最多的优雅的解决方案。我的问题是我怎么能这样做呢?有什么东西我只是上釉或者我找到了问题的解决方案并且应该随身携带吗?

2 个答案:

答案 0 :(得分:1)

JavaDoc似乎与你对KeyEvent所说的相反:

  

getKeyChar方法总是返回一个   有效的Unicode字符或   CHAR_UNDEFINED。字符输入是   KEY_TYPED事件报告:   KEY_PRESSED和KEY_RELEASED事件   不一定与...有关   字符输入。因此,结果   getKeyChar方法的保证   仅对KEY_TYPED有意义   事件

答案 1 :(得分:0)

您应该使用Document Listener