Текстовый редактор WYSIWYG в Java - программирование
Подтвердить что ты не робот

Текстовый редактор WYSIWYG в Java

Я хотел бы собрать все текстовые редакторы WYSIWYG для Java здесь.

Некоторые правила для записей:

  • Должна быть ссылка на проект/продукт
  • Вы должны указать, открывать ли он источник или коммерческий
  • Можно ли расширить редактор (добавить новые функции, такие как "фиолетовая центрированная судоку" )? Это просто или сложно?
  • Есть ли у него множество функций (стили стилей и стилей абзаца с онлайн-проверкой орфографии на нескольких языках в одном документе) или просто основы (жирный, курсив, без подчеркивания)?
  • Перечислите важные зависимости (работает ли она на голой Java с Swing? SWT? MacOS?)
  • Ваше личное мнение

Этот список должен помочь разработчикам определить, какой редактор выбрать. Я не ищу "лучшее", но больше "что там".

4b9b3361

Ответ 1

JWebEngine

Я рекомендую JWebEngine. Это единственный, который я знаю, который проходит тест браузера ACID1 и тест почтовой кислоты. Большинство других редакторов Java HTML основаны на javax.swing.text.html.HTMLDocument и имеют все те же ошибки. Поддержка CSS очень бедна с помощью HTMLDocument. JWebEngine имеет очень хорошую поддержку для просмотра HTML с CSS.

  • Ссылка на веб-сайт. Существуют также онлайн-образцы.
  • Коммерческая лицензия
  • Это очень просто расширить. Поставщик использует его для многих разных вещей, таких как редактор, механизм печати HTML, показы пользовательских заполнителей и т.д. Нет проблем с видимостью классов, таких как Sun HTMDocument.
  • Он основан на javax.swing.text.JEditorPane или javax.swing.text.JTextPane, и вы можете использовать его вместе с сторонними инструментами, такими как проверка орфографии JOrtho.
  • Это чистая Java и работает на всех платформах с Java SE 5 или выше. Он также запускается в не подписанных апплетах.

Ответ 2

RSyntaxTextArea

Я использовал этот компонент, и он работает хорошо. Это LGPL, и он основан на пакете javax.swing.text(javax.swing.text.EditorKit). Поскольку это компонент Swing, он может быть интегрирован в ваше приложение в несколько строк кода:

RSyntaxTextArea textArea = new RSyntaxTextArea();
textArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
RTextScrollPane sp = new RTextScrollPane(textArea);

Ответ 3

OpenOffice Writer

Может быть встроен в Java с помощью OOoBean. Исходный код работает под Swing, но вы можете заставить его работать и под SWT, используя AWT/SWT Bridge (пример кода).

Проект является открытым исходным кодом (LGPL). Код зависит от ОС, но доступны версии для всех основных ОС (Windows, Linux, MacOS и Solaris поддерживаются на сайте проекта, но вы также можете загрузить исходный код и скомпилировать его для других).

Поскольку базовый продукт представляет собой полнофункциональное офисное приложение, он предлагает все функции, которые могут вам понадобиться (фантастические стили, онлайн-проверка орфографии на разных языках, встраивание изображений, поток текста вокруг изображений, вы называете его).

Недостаток заключается в том, что у вас должен быть установлен OpenOffice; Фактически, редактор не является частью Java, но это удаленный процесс, который просто отображается в вашем окне приложения Java. Это означает, что время запуска довольно заметно и производительность может быть вялой. Также обработка иногда "нечетная". Требуется некоторая конфигурация, чтобы избавиться от дополнительных границ и нежелательной разбивки на страницы.

Из-за этого редактор на самом деле не расширяется с Java. Вам придется либо писать код на С++, либо используя собственный встроенный язык OOo. Что вы можете сделать, так это то, что вы можете регистрировать слушателей в документе, и у вас есть полный доступ к базовой модели документа. Таким образом, вы можете зацепиться за важные части и изменить поведение, но это часто бывает так же, как выполнение операции с замочной скважиной.

Мой вывод: если у OO есть необходимые функции, это может быть самый простой способ получить то, что вам нужно. Если вам нужна большая настройка, вы будете сражаться с восходящей битвой против фреймов по умолчанию.

Ответ 4

Просто HTML

  • его GPLed
  • не имеют представления о том, насколько легко расширить его.
  • не поддерживает проверку орфографии, но имеет таблицы, списки.
  • На основе Swing требуется Java 1.4 и, возможно, Java Help
  • Я не использовал его в качестве программиста - точно так же, как и для конечного пользователя, он имеет некоторые причуды - вроде не многоуровневого списка или таблиц, которые невелики, но все в порядке.
  • Плюс это дает вам HTML, поэтому его легко внедрить результаты обработки в другие компоненты.
  • Теперь SourceForge

Ответ 5

Мне нужно было то же самое для нашего приложения, сделало исследование и нашло еще два продукта EKit и Metaphase Editor, основанный на Charles Bell HTMLDocumentEditor, как по лицензии LGPL, так и в хорошем состоянии.

Но я не тестировал их. В эти дни мы увидим, что мы выбираем.

Ответ 7

  • Здесь ссылка: JRichTextEditor
  • Это открытый источник (LGPL).
  • Вы можете делать все, что хотите. Просто клонируйте его из github. Он расширяемый.
  • Он поставляется с некоторыми функциями, но улучшения приветствуются. Это компонент качания, зависит от iText 2.1.7 (который все еще LGPL) и других библиотек (например, xerces). Одной из примечательных особенностей является возможность добавления меток/диапазонов любого класса. Что можно использовать для гиперссылок или что угодно. В библиотеке также есть приложение справки.

Ответ 8

Использование редактора HTML WYSIWYG и компонент браузера SWT (см. фрагменты для примеров). Параметры:

Pro:

  • Множество опций из-за HTML
  • Поддерживает HTML как собственный формат (поэтому нет никаких необычных проблем, когда вам нужно где-то сохранять документы или изменять их, в отличие, скажем, от родного формата Word).
  • Работа с шрифтами, цветами, изображениями проста, так как вам не нужно самостоятельно управлять ресурсами. Компонент браузера сделает это для вас.

Contra:

  • Решение зависит от платформы. Тесты с richhtml4eclipse показали другое поведение в Windows XP (IE) и Mac OSX (Safari)
  • Если есть проблема, пользователям придется переключиться на просмотр кода HTML и исправить его самостоятельно.
  • Удачи в поддержке контента, завершении кода, проверке орфографии, сворачивании или аннотации.
  • Добавление специальных функций заставит вас сделать операцию замочной скважины через довольно простой API
  • Со многими из этих редакторов производительность не такая уж большая, особенно с большими документами.
  • Зависит от SWT.

Источник: Lösungen für einen SWT Rich Text Editor

Ответ 9

Rich Text Viewer

Pro:

  • Предлагает проверку орфографии, завершение кода, отмену/повтор, автоматический отступ и большинство других функций, которые вы ожидаете (см. здесь)

Contra:

  • Зависит от SWT
  • Поддержка таблиц

Ответ 10

Посмотрите JWord

  • Это коммерческая
  • Множество функций (таблицы, подкачки, H/F, расположение столбцов, wmf, svg, copy-paste, RTF, ODT, экспорт HTML)
  • безвозмездное
  • чистая Java-Swing (1.6)
  • расширяемый (на основе Swing Text API)

Ответ 11

Проект Eclipse воскресил Vex (Visual Editor для XML)

На странице wiki:

  • Vex использует многие из зрелых плагинов, которые составляют Eclipse Java IDE, такие как CVS, поиск документов и закладка средства и поисковая система .
  • Платформа Eclipse реализует сложную архитектуру подключаемого модуля, позволяя Vex расширяться сторонними или настраиваемыми плагинами.
  • Vex доступен с собственным внешним видом для многих платформ, включая Windows, Linux/GTK и Macintosh OS-X/Carbon.
  • Java-разработчики, использующие Eclipse IDE, могут установить Vex в свою среду IDE в качестве подключаемого модуля, упрощая поддерживать документацию по программному обеспечению или другие XML файлы с помощью Vex.
  • Vex можно использовать повторно: виджет редактора Vex доступен как чистый Java, кросс-платформенный компонент со связями SWT. Разработчики могут повторно использовать этот виджет, например, в качестве приложения RCP.

Версия 1.0 выпущена в 2012 году, а 1.1 запланирована на 2013 год.

Руководство пользователя