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