2

フォーマッタテキストフィールドで数値の上限を設定したい。次の形式の文字列があるとします。

036 12分23.67インチ

最初の数値は 180 未満である必要があるため、ユーザーが 180 より大きい数値を入力しようとすると、マスクする必要があります。上記のように MaskFormatter を使用して文字列をフォーマットしましたが、最初の数値に上限を設定できませんでした。どうすればこれを達成できますか。ありがとう。

4

1 に答える 1

1

JFormattedTextField でこれを直接行う方法がわかりません。

解決策の 1 つは、InputVerifier を使用して、ユーザーがタブを離したときにエラー メッセージが表示され、フォーカスがテキスト フィールドに戻るようにすることです。

もう 1 つの方法は、DocumentFilter を AbstractDocument に追加することです。次に、ドキュメントに追加する前にテキストを編集できます。詳細については、テキスト コンポーネントの機能に関する Swing チュートリアルのセクションを参照してください。

于 2010-03-03T20:59:01.943 に答える