Компонент редактора на основе трафарета для Java/Swing?
Я ищу текстовый редактор на основе трафарета для моего приложения Swing. (Компонент SWT тоже будет в порядке)
Если вы не знаете, что такое "трафаретный" редактор, взгляните на трафаретный редактор в Алисе:
Таким образом, вы просто отбрасываете трафарет блока, который хотите добавить в свой код, например, if или цикл, и можете добавлять совместимые выражения только в "дыры" в трафарете.
(Мне это нужно для инструмента программирования для конечного пользователя, поэтому автозаполнения недостаточно для быстрого начала работы пользователя.)
Исходный код старой версии Алисы находится на github, но код недокументирован и довольно большой, так что это будет моим последним средством.
2 ответа
Недавно я наткнулся на несколько проектов, использующих и создающих такие редакторы:
Для программистов на C/C++ неплохо было бы начать с нуля, но для разработчиков на Java есть открытые блоки. Кажется, еще нет соглашения об именах, но вы определенно найдете больше проектов с помощью терминов "визуальное программирование" и "редактор блоков", чем "редактор на основе трафаретов".
StyledDocument Swing имеет только два уровня стилей: абзац и уровень персонажа, но они устанавливаются на основе, так что у вас есть своего рода вложение. Я хотел бы использовать HTMLEditorKit (вложенный HTML), JTextPane только для чтения и контекстную вставку на основе позиции каретки. Наличие схемы XML возможной структуры документа и использование ее для вставки <div class='myX'>
и тому подобное. Поэтому в позиции каретки есть стопка вложенных элементов.