2009-09-27 5 views
0

Я только что встретил lib BeanShell. И теперь я создаю редактор Java с кнопкой запуска, который запускает код без компиляции. Для компонента texteditor я использую open-source jEdit Syntax Package. Вот ссылка с демо: link.Java: подсветка синтаксиса компонент keyevents

Теперь я написал код, который добавляется каждый раз, когда пользователь нажал кнопку, автоматически добавляет то же количество вкладок, что и предыдущая строка. Я проверил этот код в простой JTextArea и работает правильно. Но, похоже, ключевые события не работают с JEditTextArea Я положил этот JComponent в JPanel.

JEditTextArea является редактором компонента в lib. (Расширения JComponent)

ответ

1

JEditTextArea не ведет себя как нормальное колебание JTextComponent. См. Переопределенный код processKeyEvent в JEditTextArea - он специально избегает использования KeyListener для производительности.

Пути я добавил ключевую логику обработки для JEditTextArea является подкласс DefaultInputHandler и переопределить addDefaultKeyBindings, вызывая addKeyBinding() с вашими желаемыми привязками и логикой.

+0

Это нигде вы его нашли. Но я использовал другую библиотеку, лучше барахт. 'jsyntaxpane-0.9.5-b27.jar' - это имя. –

Смежные вопросы