Завершите ввод в 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
,