我刚刚遇到了lib BeanShell。现在我正在制作一个带有运行代码的Java编辑器,无需编译即可运行代码。对于texteditor组件,我使用开源jEdit Syntax Package。以下是演示文稿的链接:link。
现在我编写的代码会在用户每次按下时自动添加相同数量的标签,就像上一行开头一样。我在一个简单的JTextArea
中测试了该代码,并且工作正常。但似乎关键事件不适用于JEditTextArea
我把这个JComponent放在JPanel
中。
JEditTextArea
是lib中的编辑器组件。 (扩展JComponent
)
答案 0 :(得分:1)
JEditTextArea
的行为与正常摆动JTextComponent
不同。请参阅JEditTextArea中重写的processKeyEvent
代码 - 它特别避免了KeyListener的性能。
我将键处理逻辑添加到JEditTextArea的方法是将DefaultInputHandler
子类化并覆盖addDefaultKeyBindings
,使用所需的绑定和逻辑调用addKeyBinding()
。