- PR -

JTextFieldの入力制限がしたい

投稿者投稿内容
みき
会議室デビュー日: 2005/04/29
投稿数: 12
投稿日時: 2005-05-04 12:37
いつもここで勉強させてもらってます。

・数字のみ入力可能
・英字のみ入力可能
・英字+特定の文字(例えば、"."や":"など)のみ入力可能
なJTextFieldを作りたいのですが、
どのようにすればよいのでしょうか?
何かヒントでもいいので、
ご教授ください。
宜しくお願いします。
未記入
ぬし
会議室デビュー日: 2004/09/17
投稿数: 667
投稿日時: 2005-05-04 12:50
昔は、Document の insertString(int offs, String str, AttributeSet a) をオーバーライドしたけど、ターゲットが JRE1.4以上なら JFormattedTextField を使うと楽ができる。

フォーマット・テキストを受け入れる入力フィールドを、最小限の労力で作成する方法
http://www-6.ibm.com/jp/developerworks/java/020906/j_j-mer0625.html
みき
会議室デビュー日: 2005/04/29
投稿数: 12
投稿日時: 2005-05-04 19:33
こんばんは。
フォーマットは特に決まってなく、
例えば数字と"."のみ入力可能とするテキストでも
JFormattedTextFieldで可能なのでしょうか?
未記入
ぬし
会議室デビュー日: 2004/09/17
投稿数: 667
投稿日時: 2005-05-04 19:57
引用:
例えば数字と"."のみ入力可能とするテキストでも JFormattedTextFieldで可能なのでしょうか?


可能です。
みき
会議室デビュー日: 2005/04/29
投稿数: 12
投稿日時: 2005-05-05 00:04
すみません。
その場合の簡単なサンプルをいただけないでしょうか?
かずくん
ぬし
会議室デビュー日: 2003/01/08
投稿数: 759
お住まい・勤務地: 太陽系第三惑星
投稿日時: 2005-05-07 13:01
未記入さんが提示してくれたサイトの内容を元に、想像力を働かせば、できると思います。

まずはサンプルで日付入力をフォーマットしている部分を、数値入力でフォーマットするよう改造してみては?

その上で、不明な点が現れたら、また質問すればいいと思います。
未記入
ぬし
会議室デビュー日: 2004/09/17
投稿数: 667
投稿日時: 2005-05-07 13:24
まあ、想像力だけで辿り着くのは難しいだろうけど、必要なクラスは出てるからねえ。MaskFormatter を javadoc で調べて、MaskFormatter#setValidCharacters(String validCharacters) 「入力可能な文字を詳細に限定できます。」を見つけるくらいのことはできそうなものだけど。

何が分からないのかを説明することもできずに「簡単なサンプルをいただけないでしょうか?」とか言い出す元質問者の相手をする気にはなれない。
みき
会議室デビュー日: 2005/04/29
投稿数: 12
投稿日時: 2005-05-07 19:51
できました。ありがとです。
ただ、あなたは何様のつもりですか?
こんなところで威張らないでください。

スキルアップ/キャリアアップ(JOB@IT)