我的程序使用JDialog来打开表单,在表单中,我希望用户选择日期时使用JCalendar,然后再将它用于其他方法。
我已经下载了JCalendar库。我读过一些示例代码,但仍然不知道该如何做。我的想法是,在表单中按一个按钮(选择日期),就像用那个JCalendar打开一个小窗口一样,当日期被选中时,它将以TextField的形式显示在表单中。
有人能给我推荐一种方法,用最少的麻烦来做吗?
发布于 2014-02-21 22:20:59
我的想法是,在表单中按一个按钮(选择日期),就像用那个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);https://stackoverflow.com/questions/21946016
复制相似问题