我的程序包括用于多项式的GUI,可在其中将其多项式输入JTextArea或JEditorPane。
我正在尝试寻找一种方法,只要用户在文本区域中输入“ ^(一个数字)”,它就会改变外观以实际显示该数字是字母或数字的指数。
因此,例如n ^ 2将被视为数字2,表示它是n的指数好得多。
答案 0 :(得分:0)
不是在JTextArea中,而是在JEditorPane或JTextPane中,您可以使用StyledDocument。
在^
(KeyEvent.VK_CIRCUMFLEX
)按下键盘事件时,您会在<sup>...</sup>
上添加带有属性样式的HTML StyledDocument
。
与@Schokokuchen_Bäcker的现成数学解决方案相比,这需要一些工作。
您可以为^
提供一个编辑图标,例如[ x ],尤其是一些国家键盘^
是创建诸如{{1} }。还要做更多的工作。
上标的字符属性更改随后对应于您的表示形式中的û
。
由于JTextPane是JEditorPane的子类,因此我将使用该子类。
^
一个人可能会使用SimpleAttributeSet来组成属性。