Да, int
просто упростить примеры. Но в реальной жизни узел будет чем-то более полезным. Пример:
struct chair {
int nr_or_legs;
int weight_in_kg;
int height_in_cm;
};
struct chair_node {
struct chair data;
struct chair_node* nextptr;
};
или просто:
struct chair_node {
int nr_or_legs;
int weight_in_kg;
int height_in_cm;
struct chair_node* nextptr;
};
Я использовал этот компонент, и он хорошо работает. Это LGPL, основанный на пакете javax.swing.text (javax.swing.text.EditorKit). Since it is a Swing component it can be integrated in your application in a few lines of code :
RSyntaxTextArea textArea = new RSyntaxTextArea();
textArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
RTextScrollPane sp = new RTextScrollPane(textArea);
Может быть встроен в Java с помощью OOoBean . Исходный код работает под Swing, но вы можете заставить его работать и под SWT, используя AWT / SWT Bridge ( пример кода ).
Проект с открытым исходным кодом ( LGPL ). Код зависит от ОС, но есть версии, доступные для всех основных ОС (Windows, Linux, MacOS и Solaris поддерживаются на сайте проекта, но вы также можете загрузить исходный код и скомпилировать его для других).
Поскольку основной product представляет собой полноценное офисное приложение, оно предлагает все функции, которые могут вам понадобиться (модные стили, онлайн-проверка орфографии на разных языках, встраивание изображений, обтекаемый текст вокруг изображений, вы называете это).
Недостатком является то, что вы должны иметь OpenOffice установлен; на самом деле, редактор не является частью Java, это удаленный процесс, который просто отображается в окне вашего Java-приложения. Это означает, что время запуска довольно заметно, а производительность может быть низкой. Также обработка иногда бывает "странной". Требуется некоторая конфигурация, чтобы избавиться от дополнительных границ и нежелательного разбиения документа на страницы.
Из-за этого редактор на самом деле не расширяется с Java. Вам придется написать код на C ++ или использовать собственный встроенный язык OOo. Что вы можете сделать, так это зарегистрировать слушателей в документе и получить полный доступ к базовой модели документа. Таким образом, вы можете подключиться к важным частям и изменить поведение, но это часто похоже на операцию по замочной скважине.
Мой вывод: если объектно-ориентированный объект имеет необходимые вам функции, это может быть самым простым способом получить то, что вам нужно.
Средство просмотра форматированного текста
Pro:
Contra:
Использование HTML-редактора WYSIWYG и компонента браузера SWT ( см. Фрагменты для примеров ). Параметры:
Pro:
Contra:
Источник: Lösungen für einen SWT Rich Text Editor
docx4all
docx4all - это кроссплатформенный редактор WYSIWYG для файлов docx, использующий Java Swing и JavaFX Script. Работает как апплет или приложение. См. http://dev.plutext.org/trac/docx4all/wiki/FeatureSet
с открытым исходным кодом или коммерческий? См. http://dev.plutext.org/forums/viewtopic.php?f=7&t=209
Требуется Java 6.
JWebEngine
Я рекомендую JWebEngine . Это единственный известный мне компьютер, который проходит тест браузера ACID1 и тест почтового ящика. Большинство других HTML-редакторов Java основаны на javax.swing.text.html.HTMLDocument и имеют все те же ошибки. HTMLDocument очень плохо поддерживает CSS. JWebEngine имеет очень хорошую поддержку для просмотра HTML с помощью CSS.
Взгляните на JWord