JFormattedTextFieldにプレースホルダ文字列を追加したMaskFormatterを設定する
Total: 3841
, Today: 8
, Yesterday: 1
Posted by aterai at
Last-modified:
概要
JFormattedTextField
にプレースホルダ文字やプレースホルダ文字列を追加したMaskFormatter
を設定します。
Screenshot
Advertisement
サンプルコード
MaskFormatter formatter2 = new MaskFormatter(mask);
formatter2.setPlaceholderCharacter('_');
formatter2.setPlaceholder("000-0000");
field2.setFormatterFactory(new DefaultFormatterFactory(formatter2));
View in GitHub: Java, Kotlin解説
new MaskFormatter("###-####")
- プレースホルダなしの
MaskFormatter
を設定
- プレースホルダなしの
MaskFormatter#setPlaceholderCharacter('_')
- プレースホルダ文字として
_
を設定
- プレースホルダ文字として
MaskFormatter#setPlaceholder("000-0000")
- プレースホルダ文字として
_
を、プレースホルダ文字列として000-0000
を設定 - プレースホルダ文字と違って、プレースホルダ文字列は初回のみ使用される
- プレースホルダ文字として
- JDK-6462028 MaskFormatter API documentation refers to getDisplayValue - Java Bug System
- MaskFormatter (Java Platform SE 8)
- ドキュメントには
formatter.getDisplayValue(tf, "123");
とのコード例が記述されているがMaskFormatter#getDisplayValue(...)
というメソッドは存在しない
- JFormattedTextField (Java Platform SE 8)
- 「特定の型の値を編集するように
JFormattedTextField
を設定する場合は、setMask
またはsetFormatterFactory
を使用してください。」と記述されているがJFormattedTextField
にsetMask
というメソッドは存在しない - MaskFormatter#setMask(String)のことかもしれない
- 「特定の型の値を編集するように
参考リンク
- MaskFormatter (Java Platform SE 8)
- JDK-6462028 MaskFormatter API documentation refers to getDisplayValue - Java Bug System