1

dd/MM/yyyy 形式の日付を使用する JFormattedTextField を作成するのに問題がありました。具体的には、ユーザーが入力すると、カーソルはスラッシュを「ジャンプ」し、次の番号の位置に直接移動する必要があります。

また、JFormattedTextField は、入力された日付が有効かどうかを検証し、日付が無効な場合は拒否するか、有効な日付に「修正」する必要があります。 "そして年に+1を加えます。

JFormattedTextField の validate() メソッドでマスク ("##/##/####") を使用して日付が有効かどうかを確認しようとしましたが、これら 2 つがうまく連携しないようです (または'Java はあまりにも環境に優しく、方法を知るには... :)、その後、ユーザーはフィールドに何でも入力できます。

どんな助けでも本当に感謝しています! ありがとう!

4

2 に答える 2

1

JCalendarを使ってみる

于 2008-09-17T03:31:39.100 に答える
0

通常の JTextField を使用し、カスタム ドキュメントで setDocument() を呼び出す必要がある場合があります。PlainDocument を拡張することをお勧めします。これにより、ドキュメントが変更されたときに入力を検証し、必要に応じてスラッシュを追加することが容易になります。

于 2008-09-17T13:14:45.470 に答える