2016-04-23 4 views
0

いくつかのJTextFieldを持つGUIを作成しようとしています。 2つのフィールドは浮動小数値用です。私はすでにフィールドに非数値入力を無視してフォーマッタを使用していますが、整数が入力された場合(つまり "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

多分あなたは、TextFieldに変更後のフレームを更新する必要があります。

frame.repaint(); 
+0

私はイベントのコードでそれを試してみました。それはうまくいかなかった。 – aesguitar

関連する問題