Prettyprint在JTextArea / JEditorPane中升为数字

时间:2019-04-24 16:38:50

标签: java jtextarea jeditorpane

我的程序包括用于多项式的GUI,可在其中将其多项式输入JTextArea或JEditorPane。

我正在尝试寻找一种方法,只要用户在文本区域中输入“ ^(一个数字)”,它就会改变外观以实际显示该数字是字母或数字的指数。

因此,例如n ^ 2将被视为数字2,表示它是n的指数好得多。

1 个答案:

答案 0 :(得分:0)

不是在JTextArea中,而是在JEditorPane或JTextPane中,您可以使用StyledDocument。

^KeyEvent.VK_CIRCUMFLEX)按下键盘事件时,您会在<sup>...</sup>上添加带有属性样式的HTML StyledDocument

与@Schokokuchen_Bäcker的现成数学解决方案相比,这需要一些工作。

您可以为^提供一个编辑图标,例如[ x ],尤其是一些国家键盘^是创建诸如{{1} }。还要做更多的工作。

上标的字符属性更改随后对应于您的表示形式中的û

由于JTextPane是JEditorPane的子类,因此我将使用该子类。

^

一个人可能会使用SimpleAttributeSet来组成属性。