2016-04-23 114 views
0

我想用幾個JTextFields編寫一個GUI。其中兩個字段用於浮點值。我已經有字段忽略格式化程序的任何非數字輸入,但是如果輸入整數(即「5」變爲「5.00」),我還希望文本字段中的文本更新爲浮點值。我嘗試在事件中使用setText()命令更新文本字段,但顯示的值不變。我希望在文本字段丟失焦點後文本會發生變化。輸入後更新文本字段

代碼很長,所以我會包含相關的代碼片段。

 heightField.addFocusListener(new FocusAdapter() { 
     @Override 
     public void focusLost(FocusEvent arg0) { 
      heightDone = !heightField.getText().trim().equalsIgnoreCase(""); 

      //This is the problem code// 
      if(UF.isInt(heightField.getText().trim())) 
       heightField.setText(heightField.getText().trim().concat(".00")); 

      System.out.println(heightField.getText()); 
      heightFormat = UF.isFloat(heightField.getText().trim()); 
      isDone(); 
     } 

    }); 

回答

0

也許你需要在文本框更改後刷新框架:

frame.repaint(); 
+0

我曾嘗試在該事件的代碼。它沒有工作。 – aesguitar