Hi Frank,
Thanks a bunch for your explanation.
Now have a glance below, and try it out.
Hope this fits your need.
Bye,
- SAi
=======================================================================
=======================================================================
This example uses a JFormattedTextField to allow the display and editing of a date. By default, when the component loses the focus and the modified value is a valid date, the modified value is saved. Otherwise, if the modified value is not a valid date, the modified value is discarded and the old value is displayed.
// Support a date in the MEDIUM format in the current locale;
// see e322 Formatting and Parsing a Date Using Default Formats.
// For Locale.ENGLISH, the format would be Feb 8, 2002.
JFormattedTextField tft1 = new JFormattedTextField(new Date());
// Support a date in the SHORT format using the current locale.
// For Locale.ENGLISH, the format would be 2/8/02.
JFormattedTextField tft2 = new JFormattedTextField(DateFormat.getDateInstance(DateFormat.SHORT));
tft2.setValue(new Date());
// Support a date with the custom format: 2002-8-2
JFormattedTextField tft3 = new JFormattedTextField(new SimpleDateFormat("yyyy-M-d"));
tft3.setValue(new Date());
// See also e320 Formatting a Date Using a Custom Format
// Retrieve the date from the text field
Date date = (Date)tft3.getValue();
The following example demonstrates how to dynamically change the format:
// Change the format to: 2/8/2002
DateFormatter fmt = (DateFormatter)tft3.getFormatter();
fmt.setFormat(new SimpleDateFormat("d/M/yyyy"));
// Reformat the display
tft3.setValue(tft3.getValue());
=======================================================================
=======================================================================
This example uses a JFormattedTextField to allow the display and editing of certain fixed-string
patterns. By default, when the component loses the focus and the modified value is valid, the modified value is saved. Otherwise, if the modified value is not valid, the modified value is discarded and the old value is displayed.
The pattern is specified using one of the following characters: # represents a decimal digit, H represents a hex digit, U represents an uppercase letter, L represents a lowercase letter, A represents a number or letter, ? represents a letter in any case, and * represents any character. Any other character in the pattern represents itself. If it is necessary to use one of the special characters, it can be escaped by preceding it with a quote (').
MaskFormatter fmt = null;
// A phone number
try {
fmt = new MaskFormatter("###-###-####");
} catch (java.text.ParseException e) {
}
JFormattedTextField tft1 = new JFormattedTextField(fmt);
// A social security number
try {
fmt = new MaskFormatter("###-##-####");
} catch (java.text.ParseException e) {
}
JFormattedTextField tft2 = new JFormattedTextField(fmt);
The spot where a character or digit is expected is called a placeholder. By default, a placeholder is represented with a space character. The space is automatically replaced as the user fills in the field. This example demonstrates how to use an asterisk as the placeholder character.
// A social security number
fmt.setPlaceholderCharacter('*');
JFormattedTextField tft3 = new JFormattedTextField(fmt);
=======================================================================
=======================================================================