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

现在,我编写了代码,每当用户按下Enter键时,就会自动添加与上一行开头相同数量的选项卡。我在一个简单的JTextArea中测试了该代码,并且可以正常工作。但是看来关键事件在JEditTextArea上不起作用
我将此JComponent放在JPanel中。

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

最佳答案

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

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

09-27 06:38