Java:突出显示组件键事件的语法

时间:2009-09-27 11:58:45

标签: java swing text-editor syntax-highlighting jedit

我刚刚遇到了lib BeanShell。现在我正在制作一个带有运行代码的Java编辑器,无需编译即可运行代码。对于texteditor组件,我使用开源jEdit Syntax Package。以下是演示文稿的链接:link

现在我编写的代码会在用户每次按下时自动添加相同数量的标签,就像上一行开头一样。我在一个简单的JTextArea中测试了该代码,并且工作正常。但似乎关键事件不适用于JEditTextArea 我把这个JComponent放在JPanel中。

JEditTextArea是lib中的编辑器组件。 (扩展JComponent

1 个答案:

答案 0 :(得分:1)

JEditTextArea的行为与正常摆动JTextComponent不同。请参阅JEditTextArea中重写的processKeyEvent代码 - 它特别避免了KeyListener的性能。

我将键处理逻辑添加到JEditTextArea的方法是将DefaultInputHandler子类化并覆盖addDefaultKeyBindings,使用所需的绑定和逻辑调用addKeyBinding()