-7

私はJavaにかなり慣れていないので、簡単にやってください!

ウィンドウ、ペイン、ラベル、テキスト フィールドなどを作成しました。

使用できる float について知っているように、ユーザーがテキスト フィールドに (文字列として) 入力したものを確認する最も簡単なコードは何Float.parseFloat(txtName.getText());ですか?

4

2 に答える 2

1

注: 本当に正しく行いたい場合は、ユーザーが無効な浮動小数点数である文字を入力することさえできない JTextField のサブクラスを実装できます。

public class FloatField extends JTextField {

    public FloatField(int cols) {
        super(cols)
    } 

    protected Document createDefaultModel() { 
        return new FloatDocument();
    } 

    static class FloatDocument extends PlainDocument {

        public void insertString(int offs, String str, AttributeSet a)
                          throws BadLocationException { 
            if( str == null ) 
                return;

            // Reject any string with invalid float characters.
            // TODO: this could be more sophisticated
            int len = str.length();
            for (int i = 0; i < len; ++i) {
                char c = str.charAt(i);
                if (c != '.' && c != '-' && !Character.isDigit(c))
                    return;
            }
            super.insertString(offs, str, a);
        } 
    } 
} 

注: これは説明のみを目的とした不完全な実装であり、これによって漏れる可能性のある無効な浮動小数点数がまだ多数存在します。

于 2013-04-20T16:53:09.783 に答える