我的程序使用JDialog
来打开表单,并以我想使用JCalendar
的形式供用户选择日期,然后让我将其用于其他方法。
我已经下载了JCalendar
库。我阅读了一些示例代码,但仍不确定如何执行。我有一个想法,在表单中您按下一个按钮(选择日期),就像打开一个小窗口并显示JCalendar
一样,当选择了日期时,它会以TextField的形式显示在表单中。
有人可以推荐我一些麻烦最少的方法吗?
最佳答案
我有一个想法,您可以在表单中按下一个按钮(选择日期),然后
就像一个打开JCalendar的小窗口,当日期是
选择它会在窗体中显示为TextField。
您可能要尝试使用JDateChooser
库中的JCalendar
类,该类允许选择日期或手动键入日期。关于第二部分,您需要为日期选择器提供PropertyChangeListener以便侦听“ date”属性的更改并相应地更新文本字段的文本。例如这样的事情:
final JTextField textField = new JTextField(15);
JDateChooser chooser = new JDateChooser();
chooser.setLocale(Locale.US);
chooser.addPropertyChangeListener("date", new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
JDateChooser chooser = (JDateChooser)evt.getSource();
SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
textField.setText(formatter.format(chooser.getDate()));
}
});
JPanel content = new JPanel();
content.add(chooser);
content.add(textField);
JDialog dialog = new JDialog ();
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
dialog.getContentPane().add(content);
dialog.pack();
dialog.setLocationRelativeTo(null);
dialog.setVisible(true);