日付と時刻のエントリを制限するために使用するJFormattedTextField
があります。プレースホルダー文字を表示するためにMaskFormatter
を使用したいと思います。テキストフィールドがすでにMaskFormatter
を使用している場合、JFormattedTextField
の上にSimpleDateFormat
を使用する方法はありますか?
ありがとう、ジェフ
public class MaskFormatterTest {
private static final DateFormat df = new SimpleDateFormat("yyyy/mm/dd");
public static void main(String[] args) {
JFrame frame = new JFrame("");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
JFormattedTextField tf = new JFormattedTextField(df);
tf.setColumns(20);
panel.add(tf);
try {
MaskFormatter dateMask = new MaskFormatter("####/##/##");
dateMask.install(tf);
} catch (ParseException ex) {
Logger.getLogger(MaskFormatterTest.class.getName()).log(Level.SEVERE, null, ex);
}
frame.add(panel);
frame.pack();
frame.setVisible(true);
}
}
私がその質問を誤解していない限り。
または、 InputVerifier
で提案されているように、 InputVerificationDemo
を検討します。これは、より複雑な 例 です。