Может ли кто-нибудь порекомендовать текстовый редактор с поддержкой Java?
Богатый текстовый редактор должен быть реализован на Java, обеспечить поддержку Swing и, предпочтительно, быть открытым исходным кодом.
Я хочу интегрировать его в существующее приложение Java/Swing.
Спасибо.
Ответы
Ответ 1
Скорее всего, это не так, как вы были после этого, но JTextPane поддерживает богатый текст и HTML.
Его тривиально, чтобы заставить его отображать rtf или html, просто установите тип кодирования, прежде чем заполнять его содержимым.
Что касается создания маленьких кнопок стиля "B" и "I" и т.д., хорошо, если бы это дошло до него, в крайнем случае, что было бы очень сложно сделать сами.
Подумайте, JButtons с установленными значками. Их слушатели получают текущие начальные и конечные позиции выбора JTextPane следующим образом:
jpane.getSelectionStart()
или jpane.getSelectionEnd()
а затем вставлять открывающие и закрывающие теги html/rtf в этих местах.
Отменить тоже легко - поддерживайте простой стек содержимого строки Jpanel, каждый раз, когда пользователь выполняет действие редактирования, простая история .push(jpane.getText()) сохранит состояние, а кнопка отмены было бы просто, как jpane.setText(history.pop()).
Я/вы можете сделать один с B, я и отменить примерно за 30 минут. Я считаю, что другие кнопки, такие как списки, занимают больше времени, но не так.
Ответ 2
Попробуйте редактор MetaPhase на основе Charles Bell HTMLDocumentEditor
. Это LGPL v3 лицензировано, и это здорово, особенно в качестве примера использования StyledEditorKit
, обсуждаемого здесь.
Ответ 3
Вы можете внедрить мать всех текстовых редакторов с открытым исходным кодом в приложении Swing: OpenOffice.org предоставляет "OOBean", с помощью которого вы можете встраивать полный экземпляр OpenOffice в приложение Swing.
Ответ 4
Я проверил, и я не могу найти файл jar только с текстовым редактором.
Тем не менее, heres 2 других варианта
Вариант A Используйте Swing и создайте его самостоятельно. В Swing есть много компонентов, уже описанных в javax.swing.text, хотя для этого требуется большой объем кода. Я нашел пример здесь
Вариант B Кодирование кода из проекта с открытым исходным кодом. Я нашел 2 проекта с действительно красивыми редакторами типа HTML WYSIWYG, которые можно извлечь (оба содержатся только в нескольких классах).
- Memoranda (GPL): его текст редактируется или находится в файле net.sf.memoranda.ui.htmleditor.HTMLEditor. Его JPanel и использует только один класс.
- Ekit (LGPL): полнофункциональный редактор WYSIWYG Html. Класс com.hexidec.ekit.EkitCore является JPanel и кажется довольно многоцелевым, хотя в нем используется много других классов из пакета.
Есть также куча коммерческих доступных, если у вас есть бюджет:)
Ответ 5
Посмотрите JWord или JRichTextEditor
JWord - это текстовый редактор с коммерческим преобразованием, содержащий таблицы, подкачки и поддержку RTF/opendoc/XML.
Также поддерживает верхний/нижний колонтитул, многоколоночную компоновку, экспорт HTML, SVG, WMF и т.д.
JRichTextEditor - это виджет с открытым исходным кодом, который вполне подходит для заметок. Поддерживает изображения, простой формат XML для хранения, экспорт в PDF, HTML. Не такой продвинутый, как JWord, но с открытым исходным кодом.
Может помочь.