gpt4 book ai didi

java - Prettyprint 在 JTextArea/JEditorPane 中提升为数字

转载 作者:行者123 更新时间:2023-12-02 06:20:47 25 4
gpt4 key购买 nike

我的程序包含一个多项式 GUI,可以在 JTextArea 或 JEditorPane 中输入多项式。

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

例如,n^2 会被视为数字 2,表示它是 n 的指数,效果更好。

最佳答案

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

关于 ^ 的按键事件( KeyEvent.VK_CIRCUMFLEX ) 您添加 HTML <sup>...</sup>可能具有 StyledDocument 上的属性样式.

这需要一些工作,而不是 @Schokokuchen_Bäcker 的现成数学解决方案。

您可以为 ^ 提供编辑图标像 [x],特别是作为一些国家键盘 ^是创建像 û 这样的字母的死键。甚至还有更多的工作。

上标字符属性的更改对应于 ^在你的代表中。

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

JTextPane textPane = new JTextPane(document);
textPane.setEditable(true);

Element elememt = doc.getCharacterElement(docOffset);
if (StyleConstants.isSuperscript(element.getAttributes())) { ...

可以使用 SimpleAttributeSet 来组合属性。

关于java - Prettyprint 在 JTextArea/JEditorPane 中提升为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55834839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com