Посимвольное чтение ввода из JEditorPane в Java

Я пытаюсь создать HTML-редактор. Для этого я использую JEditorPane, в котором я хочу читать входные данные из JEditorPane посимвольно и хочу, чтобы они сохранялись в строке. Например: если пользователь вводит <h, я хочу прочитать эти два символа, и в соответствии с этими символами я буду предлагать пользователям теги, в данном случае <html>,<header>,<head> и т. д. (т.е. все теги, начинающиеся с «h»). Поэтому я не понимаю, как и какую функцию использовать для чтения символов из JEditorPane, как только пользователь вводит данные в JEditorPane.


person Anuj Garg    schedule 22.04.2015    source источник


Ответы (2)


Поэтому я не понимаю, как и какую функцию использовать для чтения символов из JEditorPane, как только пользователь вводит данные в JEditorPane.

Вы можете использовать DocumentListener Прочитайте раздел учебного руководства по Swing Как написать DocumentListener для получения дополнительной информации и примеров.

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

person camickr    schedule 22.04.2015

Keylistener работал для меня. Используя keylistener, мы можем получить нажатия клавиш пользователя.

person Anuj Garg    schedule 28.06.2015
comment
Не используйте KeyListener. KeyListeners используются в старых приложениях AWT. Swing имеет более новый и лучший API. В данном случае Swing был разработан для использования с DocumentListener. Вы по-прежнему можете вводить символы в текстовую область или текстовую панель из DocumentEvent. - person camickr; 28.06.2015