2016-06-06 86 views
-1

我目前正在研究一個計算器應用程序,它將模擬Windows計算器作爲一個側面項目,並且我遇到了一些我找不到的東西。在java字符串中的標點符號顯示不正確

我有了的ComponentOrientation設置爲RIGHT_TO_LEFT一個JTextField,像這樣:

bottomText.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); 

,我一直在添加文本的方法如下:

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

與數字鍵( 0至9)。問題是,當我嘗試添加deicmal,像這樣:

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

它顯示了像」 0.123" ,直到我按其他鍵,然後將其切換到‘123.4’。奇怪的是,如果我這樣做:

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

與「F」代替小數,它顯示了應該如何正常,即「123F」,然後選擇「123f4」。我的數字的十進制表示法很好(存儲在一個雙變量中),但它在JTextField中奇怪地顯示。有人知道這裏發生了什麼嗎?

+0

另請參閱此[計算器示例](http://stackoverflow.com/a/7441804/418556)。它使用'ScriptEngine'來評估文本字段中的表達式。 –

回答

0

它看起來像我應該使用的

bottomText.setHorizontalAlignment(SwingConstants.TRAILING); 

代替

bottomText.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); 

謝謝安德魯·湯普森爲你的榜樣。