Кто-нибудь может порекомендовать 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, которые можно извлечь (оба содержатся в нескольких классах).
- Меморандумы (GPL): текст редактируется или находится в net.sf.memoranda.ui.htmleditor.HTMLEditor. Это JPanel и использует только один другой класс.
- Экит (LGPL): это полнофункциональный WYSIWYG Html редактор. Его класс com.hexidec.ekit.EkitCore является JPanel и выглядит довольно многоцелевым, хотя он использует много других классов из пакета.
Есть также несколько коммерческих, если у вас есть бюджет:)
Посмотрите на JWord или JRichTextEditor
JWord - это коммерческий текстовый редактор с поддержкой Swing, с таблицами, подкачкой страниц и поддержкой RTF/opendoc/XML. Также поддерживает колонтитулы, многостолбцовый макет, экспорт HTML, SVG, WMF и т. Д.
JRichTextEditor - это качающийся виджет с открытым исходным кодом, который вполне подходит для ведения заметок. Поддерживает изображения, простой формат XML для хранения, экспорт в PDF, HTML. Не такой продвинутый, как JWord, но с открытым исходным кодом.
Может помочь.