在ENTER上完成对JEditorPane的输入

时间:2014-10-01 10:19:02

标签: java swing netbeans-platform

我使用JEditorPane作为显示代码的组件。 JEdi​​torPane驻留在我的Netbeans Platform应用程序的自定义PropertyEditorSupport中,并显示在OutlineView和Properties窗口中。

我已经使用DocumentFilter将JEditorPane限制为仅一行。但是我无法重建JTextField所具有的功能,通过按ENTER键完成对组件的输入。

我已经考虑过将一个KeyListener事件添加到我的JEditorPane中,但我不确定在事件发生时该怎么做。是否有一种方法可以调用"完成文本的输入"?

1 个答案:

答案 0 :(得分:0)

  

我使用JEditorPane作为显示代码的组件。   我已经将JEditorPane限制为仅限一行

这两个陈述似乎相互矛盾。通常代码由多行组成,而不是一行。

在任何情况下,如果您只是显示文本,那么我将使用JTextPane,因为它支持文本属性。 JEdi​​torPane用于显示HTML。

  

我已经考虑过添加KeyListener事件

不要使用KeyListener。 Swing旨在与Key Bindings一起使用。基本上,您创建了Action(在您的情况下,您将扩展TextAction)并将Action绑定到KeyStroke。查看Key Bindings,其中包含更多信息以及How to Use Key Bindings上Swing教程的链接。