私はあなたが完全な式を書くことができ、それからあなたの答えを計算できる関数電卓を作っています. 式を表示するには、JEditorPane を使用します。
主な問題は次のとおりです。
- 分数を手書きで表示する(分子が分母)
- 権力の表示
上記の2つの問題に対して私が見つけた解決策は次のとおりです。
- このeditorKit を使用して分数を表示します。
- HTML を使用して権限を表示します。
現在、私が直面している問題は、HTMLEditorKit と FractionEditorKit の 2 つの editorKit を使用する必要があり、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();
}