Компонент редактора на основе трафарета для Java/Swing?

Я ищу текстовый редактор на основе трафарета для моего приложения Swing. (Компонент SWT тоже будет в порядке)

Если вы не знаете, что такое "трафаретный" редактор, взгляните на трафаретный редактор в Алисе:

Таким образом, вы просто отбрасываете трафарет блока, который хотите добавить в свой код, например, if или цикл, и можете добавлять совместимые выражения только в "дыры" в трафарете.

(Мне это нужно для инструмента программирования для конечного пользователя, поэтому автозаполнения недостаточно для быстрого начала работы пользователя.)

Исходный код старой версии Алисы находится на github, но код недокументирован и довольно большой, так что это будет моим последним средством.

2 ответа

Решение

Недавно я наткнулся на несколько проектов, использующих и создающих такие редакторы:

Для программистов на C/C++ неплохо было бы начать с нуля, но для разработчиков на Java есть открытые блоки. Кажется, еще нет соглашения об именах, но вы определенно найдете больше проектов с помощью терминов "визуальное программирование" и "редактор блоков", чем "редактор на основе трафаретов".

StyledDocument Swing имеет только два уровня стилей: абзац и уровень персонажа, но они устанавливаются на основе, так что у вас есть своего рода вложение. Я хотел бы использовать HTMLEditorKit (вложенный HTML), JTextPane только для чтения и контекстную вставку на основе позиции каретки. Наличие схемы XML возможной структуры документа и использование ее для вставки <div class='myX'> и тому подобное. Поэтому в позиции каретки есть стопка вложенных элементов.

Другие вопросы по тегам