Установить стиль и текст jTextPane с помощью StyledDocument - PullRequest
1 голос
/ 02 марта 2012

Я создаю базовое приложение Swing.У меня есть jTextPane и кнопка.Если пользователь выбирает текст в jTextPane и нажимает кнопку, он выделяет выделенный текст жирным шрифтом.Это делается путем изменения StyleDocument .

Я хочу иметь возможность временно сохранить стилизованный текст, закрыть предыдущий jTextPane , открыть новый jTextPane и заполнить его на основе предыдущего сохраненного стилятекст. jTextPane занимает StyleDocument в конструкторе, но когда я пытаюсь создать новый jTextPane со старым StyleDocument , он не работает.Я полагаю, это потому, что я просто передаю ссылку из предыдущего jTextPane StyleDocument, который в конечном итоге удаляется.

Есть ли способ скопировать или клонировать StyleDocument?Я понимаю, что это интерфейс, но использует ли он DefaultStyledDocument?Есть ли лучший способ сделать это?

1 Ответ

2 голосов
/ 02 марта 2012

Документ может быть заменен новым экземпляром, например, когда вы устанавливаете EditorKit или вызываете setText () (в некоторых случаях setText воссоздает документ).

Таким образом, когда вы сохраняете ссылку на старый вызов документа setDocument (oldDoc) после того, как все приготовления сделаны.

Или вы можете сохранить старый контент и установить его обратно, используя что-то вроде этого http://java -sl.com / editor_kit_tutorial.html

Прочитайте о Reader и Writer и используйте код из раздела «Пример».

...