我正在制作一个科学计算器,您可以在其中编写完整的表达式,然后它将计算您的答案。 要显示表达式,我将使用JEditorPane。
主要问题是:
我发现上述两个问题的解决方案是:
现在,我面临的问题是我必须使用两个编辑器,即HTMLEditorKit和FractionEditorKit,当我从FractionEditorKit切换到HTMLEditorKit时,我的所有格式都将丢失。
editorPane.setEditorKit(new FractionEditorKit());
StyledDocument doc=(StyledDocument) editorPane.getDocument();
SimpleAttributeSet attrs=new SimpleAttributeSet();
attrs.addAttribute(FractionEditorKit.FRACTION_ATTRIBUTE_NAME,"");
SimpleAttributeSet normalAttrs=new SimpleAttributeSet();
try {
doc.insertString(doc.getLength(), "Fraction ", normalAttrs);
doc.insertString(doc.getLength(), String.format("1234\r5678"), attrs);
}
catch (BadLocationException ex) {
}
}
HTMLEditorKit kitH = new HTMLEditorKit();
HTMLDocument docH=(HTMLDocument) editorPane.getDocument();
editorPane.setEditorKit(kitH);
editorPane.setDocument(docH);
try {
kitH.insertHTML(docH, editorPane.getDocument().getLength(), "<HTML>10<sup>4</sup></HTML>",0,0,null);
} catch (BadLocationException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}