Установка шрифта и стиля jeditorpane
В настоящее время я занимаюсь разработкой приложения для этой компании в качестве моего проекта за последний год обучения, и в этом приложении есть эта функция, которая позволяет печатать бумагу, поэтому я, очевидно, использовал jeditorpane с Charles Bell HTMLEditorKit для предопределенных функций, таких как настройка шрифт и печать, и т. д.... и есть этот предварительно написанный текст, который мне нужно загрузить из текстового файла, а затем программа должна автоматически добавить некоторый текст в файл, и пользователю также разрешено добавлять больше, если он должен или изменить шрифт или стиль или что-то еще.
Так вот в чем проблема, так как предопределенный текст должен быть уже выровнен с уже установленным шрифтом и некоторыми другими свойствами, уже имеющимися, и поскольку txt-файл не позволяет этого, я попытался использовать файл docx, который делает текст непонятно в панели редактора, я также попробовал API docx4j, но тогда у меня не было бы меню и функций HTMLEditorKit (или, возможно, я мог бы, но я не знаю как), и выполнение приложения стало довольно медленным с этим API, Я также попробовал этот набор метафазного редактора, который мне показался действительно полезным с большим количеством функций, но я не смог загрузить текстовый файл в его текстовое поле.
Так что мой вопрос (а), чтобы быть точным (1): Как я могу использовать HTMLEditorKit charles bell и загрузить файл docx в рассматриваемый редактор? 2) Или как я могу использовать API docx4j с HTMLEditorKit с меню функций (стиль, печать, шрифт...) или, возможно, другое предопределенное меню? 3) Или, что еще лучше, как я могу по-прежнему использовать metaphaseEditorPane с его полным меню функций и в то же время загружать существующий файл docx в свою текстовую панель?
Извините за длинный вопрос, и любая помощь будет считаться, я бы очень нуждался в этом.
2 ответа
Наконец, я нашел решение после нескольких дней поиска и тестирования. На самом деле оно оказалось очень простым.
Все, что мне нужно было сделать, это использовать панель редактора метафазы, которая, кстати, имеет отличную панель инструментов, создать DocxEditorkit, а затем установить editorkit текстовой панели панели редактора метафазы в этот DocxEditorKit, хотя метаморфоза работает с текстовой панелью HTML, чудесным образом сработало...
DocxEditorKit DEK=new DocxEditorKit;
MetaphaseEditorPanel MEP=new MetaphaseEditorPanel;
MEP.getHTMLTextPane().setEditorKit(DEK);
//Try and Catch blocks of course to read the file
DEK.read(new FileInputStream(PathToFile), MEP.getHTMLTextPane().getDocument(), 0);
getContentPane.add(MEP, BorderLayout.CENTER);
И это было все... Кто думал, что это будет так просто.
См. Добавление пользовательских форм в JTextpane и сохранение в новый документ Word для ссылок на два проекта, которые используют docx4j для обеспечения расширенного редактирования текста docx в Swing.