Кто-нибудь может порекомендовать Java текстовый редактор?

Редактор форматированного текста должен быть реализован на Java, обеспечивать поддержку Swing и, предпочтительно, быть открытым исходным кодом.

Я ищу, чтобы интегрировать его в существующее приложение Java/Swing.

Благодарю.

5 ответов

Вероятно, это не так просто, как то, что было после... но JTextPane поддерживает форматированный текст и HTML. Его тривиально, чтобы он отображал rtf или html, просто установите тип кодировки, прежде чем наполнять его содержимым.

Что касается создания маленьких кнопок "B", " I " и т. Д., То, если они дошли до этого, в крайнем случае, что было бы очень трудно сделать самостоятельно. Подумайте JButtons с иконками. Их слушатели получают текущие начальные и конечные позиции индекса JTextPane: jpane.getSelectionStart() или же jpane.getSelectionEnd() а затем вставьте открывающие и закрывающие теги html/rtf в этих местах.

Отмена также проста - поддерживайте простой стек содержимого строки Jpanel, каждый раз, когда пользователь выполняет действие редактирования, простой history.push(jpane.getText()) будет хранить состояние, и кнопка отмены будет так же просто, как jpane.setText(history.pop()),

Я / вы могли бы сделать один с B, я & отменить в течение 30 минут, я считаю - другие кнопки, такие как списки, будут дольше, но не намного.

Попробуйте редактор MetaPhase, основанный на Чарльзе Белле HTMLDocumentEditor, Это LGPL v3 по лицензии и это здорово, особенно в качестве примера использования StyledEditorKit обсуждается здесь.

Вы можете встроить мать всех текстовых редакторов с открытым исходным кодом в приложение Swing: OpenOffice.org предоставляет "OOBean", с помощью которого вы можете встроить полный экземпляр OpenOffice в приложение Swing.

Я проверил и не могу найти файл jar, в котором есть только текстовый редактор. Тем не менее, вот 2 других варианта

Вариант A Используйте Swing и создайте его самостоятельно. В Swing есть много компонентов, уже описанных в javax.swing.text, хотя он все еще требует большого количества кода. Я нашел пример здесь

Вариант B Scavenge код из проекта с открытым исходным кодом. Я нашел 2 проекта с очень хорошими редакторами типа HTML WYSIWYG, которые можно извлечь (оба содержатся в нескольких классах).

  1. Меморандумы (GPL): текст редактируется или находится в net.sf.memoranda.ui.htmleditor.HTMLEditor. Это JPanel и использует только один другой класс.
  2. Экит (LGPL): это полнофункциональный WYSIWYG Html редактор. Его класс com.hexidec.ekit.EkitCore является JPanel и выглядит довольно многоцелевым, хотя он использует много других классов из пакета.

Есть также несколько коммерческих, если у вас есть бюджет:)

Посмотрите на JWord или JRichTextEditor

JWord - это коммерческий текстовый редактор с поддержкой Swing, с таблицами, подкачкой страниц и поддержкой RTF/opendoc/XML. Также поддерживает колонтитулы, многостолбцовый макет, экспорт HTML, SVG, WMF и т. Д.

JRichTextEditor - это качающийся виджет с открытым исходным кодом, который вполне подходит для ведения заметок. Поддерживает изображения, простой формат XML для хранения, экспорт в PDF, HTML. Не такой продвинутый, как JWord, но с открытым исходным кодом.

Может помочь.

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