2016-04-23 5 views
0

Ich versuche eine GUI mit mehreren JTextFields zu schreiben. Zwei der Felder sind für Float-Werte. Ich habe bereits die Felder, die nicht-numerische Eingaben über einen Formatierer ignorieren, aber ich möchte auch, dass der Text in dem Textfeld auf einen Fließkommawert aktualisiert wird, wenn eine Ganzzahl eingegeben wird (d.h. "5" ändert sich zu "5,00"). Ich habe versucht, das Textfeld mit einem Befehl setText() innerhalb eines Ereignisses zu aktualisieren, aber der angezeigte Wert ändert sich nicht. Ich möchte, dass sich der Text ändert, sobald der Fokus im Textfeld verloren geht.Textfeld nach Eingabe aktualisieren

Der Code ist sehr lang, daher werde ich das entsprechende Snippet einfügen.

 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(); 
     } 

    }); 

Antwort

0

vielleicht müssen Sie den Rahmen nach dem Wechsel auf dem Textfeld aktualisieren:

frame.repaint(); 
+0

Ich habe versucht, dass in dem Code für das Ereignis. Es hat nicht funktioniert. – aesguitar