我目前正在为这家公司开发一个应用程序,作为我去年的学习项目,在这个应用程序中,这个功能允许你打印一张纸,所以我明显使用了jeditorpane,{{{ 3}}对于预定义的功能,如设置字体和打印等...这个预先写好的文本,我必须从文本文件加载,然后该程序应该在内部添加一些文本文件自动生成,用户也可以根据需要添加更多内容,或者更改字体或样式等。
所以这就是问题,因为预定义的文本应该已经与已经设置的字体和已经存在的其他一些属性对齐,并且由于txt文件不允许,我尝试使用docx文件,这使得文本在编辑窗格中难以理解,我也尝试了docx4j api,但后来我没有HTMLEditorKit菜单和功能,(或者我可以,但我不知道如何)和执行使用这个API,应用程序变得相当慢。我也试过这个中期编辑器套件,我发现它对很多功能提供非常有用,但是我无法将文本文件加载到它的文本窗格中。
所以我的问题确切的是(是): 1)我如何使用查尔斯铃HTMLEditorKit并将docx文件加载到有问题的edtiorpane? 2)或者我如何使用带有HTMLEditorKit的docx4j api和功能菜单(样式,打印,字体......)或者其他预定义的菜单? 3)或者甚至更好,我如何仍然使用metaphaseEditorPane及其完整的函数菜单,同时在其textpane中加载现有的docx文件?
很抱歉这个很长的问题,任何帮助都会计算,我真的需要并感激它。
答案 0 :(得分:0)
有关使用docx4j在Swing中提供docx的富文本编辑的两个项目的参考,请参阅Adding custom shapes to JTextpane and saved to new Word document。
答案 1 :(得分:0)
经过几天的搜索和测试后,我终于找到了解决方案,事实证明它非常简单。
我所要做的就是使用中期编辑器面板(顺便说一下它有一个很棒的工具栏)创建一个DocxEditorkit,然后将metaphase编辑器面板的textpane的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);
就是这样......谁以为它就像这一样简单。