Как я могу сделать Formatter
таким образом, чтобы месяц не мог быть превышен до 12, а дата до 31 и 30 в соответствии с месяцем?
И если вы хотите предложить какой-либо другой модуль форматирования, который вы должны рассмотреть эту вещь, я должен хотеть, чтобы '/' не стирался.
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.text.ParseException;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFormattedTextField;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.text.MaskFormatter;
import javax.swing.JTextField;
import java.awt.GridLayout;
public class ForrmattedDateField extends JDialog {
private JFormattedTextField textField;
/**
* Launch the application.
*/
public static void main(String[] args) {
try {
ForrmattedDateField dialog = new ForrmattedDateField();
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
dialog.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* Create the dialog.
* @throws ParseException
*/
public ForrmattedDateField() throws ParseException {
setBounds(100, 100, 145, 96);
getContentPane().setLayout(new GridLayout(2, 2, 1, 0));
{
JFormattedTextField textField = new JFormattedTextField(new MaskFormatter("##/##/####"));
getContentPane().add(textField);
textField.setColumns(10);
}
}
}