ホームページ >Java >&#&チュートリアル >Java で JTextField が数値入力のみを受け入れるように制限するにはどうすればよいですか?
JTextField で数値のみを受け入れる
JFormattedTextField クラスを使用すると、JTextField が数値のみを受け入れるように制限できます。このクラスは、Format オブジェクトを使用したさまざまなデータ型の検証をサポートします。
数値入力に JFormattedTextField を使用する
JFormattedTextField は、データを検証し、視覚的なフィードバックを提供するための柔軟なソリューションを提供します。これを数値入力に使用する方法は次のとおりです。
NumberFormat integerNumberInstance = NumberFormat.getIntegerInstance(); ImprovedFormattedTextField integerFormattedTextField = new ImprovedFormattedTextField(integerNumberInstance, 100);
この例では:
完全な数値のみが受け入れられるようにするには、ParseAllFormat クラスをフォーマットのデコレータとして使用できます。 object:
このラッパー形式は、部分的な数値が入力された場合に、値は拒否されます。final Format format = new ParseAllFormat(integerNumberInstance);改善されたFormattedTextFieldの追加機能
改善されたFormattedTextFieldクラスは、いくつかの追加機能を提供します。
数値入力機能を GUI に組み込むには:
このセットアップは数値テキストを初期化します。フィールドの動作が改善されました。ボタンには値が表示され、入力が有効な場合にのみ有効になります。JPanel panel = new JPanel(new BorderLayout()); panel.add(integerFormattedTextField, BorderLayout.WEST); JButton button = new JButton(new AbstractAction() { { integerFormattedTextField.addPropertyChangeListener("editValid", event -> setEnabled((Boolean) event.getNewValue())); putValue(Action.NAME, "Show Current Value"); } @Override public void actionPerformed(ActionEvent e) { JOptionPane.showMessageDialog(null, "The current value is [" + integerFormattedTextField.getValue() + "]"); } });
以上がJava で JTextField が数値入力のみを受け入れるように制限するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。