2

.getText()を呼び出したときに、テキストフィールド(JTextField、JFormattedTextField)が文字列ではなくdoubleまたはintを返すようにする方法を探しています。これを行うための最良の方法は何ですか(可能であれば)?

ありがとう!

badPanda:D

4

3 に答える 3

3
  1. InputVerifierを登録getValueし、からメソッドを呼び出しますJFormattedTextField

    public class FormattedTextFieldVerifier extends InputVerifier {
        public boolean verify(JComponent input) {
         if (input instanceof JFormattedTextField) {
             JFormattedTextField ftf = (JFormattedTextField)input;
             AbstractFormatter formatter = ftf.getFormatter();
             if (formatter != null) {
                 String text = ftf.getText();
                 try {
                      formatter.stringToValue(text);
                      return true;
                  } catch (ParseException pe) {
                      return false;
                  }
              }
          }
          return true;
      }
      public boolean shouldYieldFocus(JComponent input) {
          return verify(input);
      }
    

    }

于 2010-03-24T17:46:50.937 に答える
1

テキストボックスコールバックの入力を確認し、ボックスを赤にするか、近くにアラートメッセージを作成します。テキストボックスの文字列から数字以外の文字を削除できます。

于 2010-03-24T17:41:48.393 に答える
1

JFormattedTextFieldを使用します。

于 2010-03-24T17:46:03.917 に答える