Свертывание кода / текста в SWING - PullRequest
4 голосов
/ 14 апреля 2011

Я ищу способ предоставить возможности свертывания текста для свинговой JTextArea или JTextPane

В частности, я хочу добавить блок данных в текстовом компоненте, и я хочу, чтобы компонент отображал только некоторую строку заголовка. Затем пользователь может развернуть блок, нажав на значок. Это похоже на функцию свертывания кода в большинстве IDE.

Я нашел -> некоторый пример кода <- </a> после тщательного поиска, но используемые здесь механизмы довольно неясны для меня, и он перестает работать, когда я пытаюсь удалить текст из документа.

Может быть, использование XML в качестве входных данных может привести?

Ответы [ 2 ]

5 голосов
/ 14 апреля 2011

Это как добавить складную область http://java -sl.com / collapse_area.html

Это как представить XML http://java -sl.com /xml_editor_kit.html

0 голосов
/ 14 апреля 2011

Я бы начал с просмотра API NetBeans: http://bits.netbeans.org/dev/javadoc/org-netbeans-modules-editor-fold/overview-summary.html

Если бы вы делали это самостоятельно, вам нужно было бы предоставить реализацию Document, которая заставит JTextComponent думать, что фрагменты добавляются или удаляются, а затем прикреплять события щелчка, которые сообщают документу об обновлении. Много работы.

Визуально может быть лучше использовать JEditorPane, но это, вероятно, больше работы.

...