输入后更新文本字段

输入后更新文本字段

问题描述:

我想用几个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(); 
     } 

    }); 

也许你需要在文本框更改后刷新框架:

frame.repaint(); 
+0

我曾尝试在该事件的代码。它没有工作。 – aesguitar