Завершите ввод в JEditorPane на ENTER

Я использую JEditorPane в качестве компонента для отображения кода. JEditorPane находится в моем пользовательском PropertyEditorSupport для моего приложения на платформе Netbeans и отображается в OutlineView и окне свойств.

Я уже ограничил JEditorPane только одной строкой, используя DocumentFilter. Однако я не могу перестроить функциональность JTextField, чтобы завершить ввод в компонент нажатием клавиши ВВОД.

Я уже думал о добавлении события KeyListener в мой JEditorPane, но я не уверен, что делать в случае события. Есть ли метод для завершения ввода текста?

1 ответ

Я использую JEditorPane в качестве компонента для отображения кода. Я уже ограничил JEditorPane только одной строкой

Эти два утверждения, кажется, противоречат друг другу. Обычно коды состоят из нескольких строк, а не одной строки.

В любом случае, если вы просто отображаете текст, я бы использовал JTextPane, так как он поддерживает текстовые атрибуты. JEditorPane используется для отображения HTML.

Я уже думал о добавлении события KeyListener

Не используйте KeyListener. Качели были разработаны для использования с Key Bindings, В основном вы создаете Action (в вашем случае вы бы продлили TextAction) и вы связываете Action к KeyStroke, Проверьте привязки клавиш, которые содержат больше информации, а также ссылку на учебник по Swing на How to Use Key Bindings,

Другие вопросы по тегам