java字符串中的标点符号无法正确显示

时间:2016-06-06 18:36:33

标签: java swing

我目前正在开发一款计算器应用程序,它模仿Windows计算器作为辅助项目,并且我遇到了一些我无法弄清楚的事情。

我有一个将ComponentOrientation设置为RIGHT_TO_LEFT的JTextField,如下所示:

    bottomText.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);

以及我添加文字的方式如下:

    bottomText.setText(bottomText.getText() + key.getNumber());

用于带数字的键(0到9)。问题是当我尝试添加deicmal时,如下所示:

    bottomText.setText(bottomText.getText() + ".");

它显示为" .123"直到我按下另一个键,然后它切换到" 123.4"。奇怪的是,如果我这样做:

    bottomText.setText(bottomText.getText() + "f");

用" f"替换小数,它显示了它应该如何正常,即" 123f",然后" 123f4"。我的数字的十进制表示很好(存储在一个双变量中),但它在JTextField中显示奇怪。有谁知道这里发生了什么?

1 个答案:

答案 0 :(得分:0)

看起来我应该使用

    bottomText.setHorizontalAlignment(SwingConstants.TRAILING);

而不是

    bottomText.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);

谢谢Andrew Thompson的例子。