ホームページ >Java >&#&チュートリアル >JTextField 入力を正の整数のみに制限するにはどうすればよいですか?

JTextField 入力を正の整数のみに制限するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-12 21:18:15151ブラウズ

How to Restrict JTextField Input to Positive Integers Only?

JTextField 入力を整数に制限する

JTextField での入力を正の整数に制限するには、KeyListener ではなく DocumentFilter を使用することをお勧めします。 DocumentFilter は、さまざまな入力シナリオを処理する、より包括的なソリューションを提供します。

DocumentFilter の実装

DocumentFilter は、挿入時に入力を検証するために実装できます。このサンプル フィルター MyIntFilter は、入力されたテキストが有効な整数を表していることを確認します。

class MyIntFilter extends DocumentFilter {
    ...
    private boolean test(String text) {
        try {
            Integer.parseInt(text);
            return true;
        } catch (NumberFormatException e) {
            return false;
        }
    }
    ...
}

このフィルターは、入力テキストが整数として解析できるかどうかを確認します。有効な場合、挿入が許可されます。それ以外の場合は、挿入が妨げられます。

DocumentFilter の適用

JTextField にフィルターを適用するには、setDocumentFilter メソッドを使用します。

PlainDocument doc = (PlainDocument) textField.getDocument();
doc.setDocumentFilter(new MyIntFilter());

を使用する利点DocumentFilter

  • 貼り付けや切り取り/コピー操作など、さまざまな入力シナリオを処理します。
  • 数値制限や特定のデータ形式のチェックなど、複雑な入力検証が可能です。
  • 入力検証を別個に保持することでコードを簡素化しますクラス。

以上がJTextField 入力を正の整数のみに制限するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。