2016-07-05 4 views
0

JTextFieldに数字だけを挿入できるドキュメントフィルタを設定しました。JTextFieldの内容が変更されたときに処理するメソッドを実行します。ドックフィルターと変更されたリスナー

私のドキュメントフィルタまたはセットアップイベントハンドラからメソッドを実行するほうが良いです(Javaではリスナと呼ばれます)。どちらがパフォーマンスに優れているかは、大きな違いがない場合は、Java dev?

+0

個人的に「フィールド+数字のみ」は 'SpinnerNumberModel'(' ChangeListener'を付けて)を使って 'JSpinner'と言います。 –

+0

Spinnerは良く見えますが、存在はわかりませんでしたが、私のアプリケーションの内容には本当に役に立たない – user2842801

答えて

1

DocumentFilterは、入力時にテキストを編集するために使用できます。または、JFormattedTextField(DocumentFilterを使用)を使用することもできます。

DocumentListenerは、テキストが変更されたときに通知するために使用する必要があります。

+0

テキストが変更されたときに 'DocumentListener'を使うべきだと言うなら、 'DocumentFilter'メソッドを追加してください – user2842801

+0

@ user2842801、修正してください。 「a」と入力すると、DocumentFilterはその文字を拒否し、DocumentListenerは呼び出されません。 DocumentListenerは、有効な番号を挿入する(または番号を削除する)場合にのみ呼び出されます。 – camickr

関連する問題