gpt4 book ai didi

java - 在 JTextArea 中以从右到左的方向附加点 (".")

转载 作者:行者123 更新时间:2023-11-30 07:02:43 25 4
gpt4 key购买 nike

我在 Java (1.7 JRE) 中遇到了异常问题,但找不到解决方案。

我正在使用 JTextArea 以十进制数字的形式在其中写入文本,例如从右到左方向的 123.4。每次我输入“.” in 出现在文本的开头,例如 0.123,当我输入下一个数字时,它会显示为 123.4

当我尝试使用键盘输入数字和使用我编写的方法通过 JButtons 输入数字时,都会发生这种情况。这是部分代码:

        String number;
JTextArea textAreaUnos;
.
.
.
number=number+".";
textAreaUnos.setText(number);

我也尝试过这样写:

textAreaUnos.append(".");

但例如,当我输入时,结果是相同的

123
.123
123.4

在从左到右的方向上,这种情况不会发生。

有人遇到过这样的问题吗?你解决了吗?

最佳答案

一种解决方法是使用 JTextPaneJEditorPane。下面是 JTextPane 的示例。

import javax.swing.SwingUtilities;
import javax.swing.JFrame;
import javax.swing.JTextPane;

import javax.swing.text.SimpleAttributeSet;
import javax.swing.text.StyleConstants;

class Demo{
public static void main(String[]args){
SwingUtilities.invokeLater(()->{
JFrame frame=new JFrame("Right-Left");
JTextPane box=new JTextPane();
frame.getContentPane().add(box);
SimpleAttributeSet attr = new SimpleAttributeSet();
StyleConstants.setAlignment(attr, StyleConstants.ALIGN_RIGHT);
box.setParagraphAttributes(attr, true);
frame.setSize(300,200);
frame.setLocationByPlatform(true);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
});
}
}

This is what you get

关于java - 在 JTextArea 中以从右到左的方向附加点 ("."),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40621354/

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