Java 在JDialog中使用JCalendar
我的程序使用Java 在JDialog中使用JCalendar,java,swing,jdialog,jcalendar,Java,Swing,Jdialog,Jcalendar,我的程序使用JDialogs打开表单,并使用JCalendar的表单供用户选择日期,然后供我用于其他方法 我已经下载了JCalendar库。我读了一些示例代码,但仍然不知道如何做。我的想法是,在表单中,你按下一个按钮(选择日期),像一个小窗口一样打开JCalendar,当选择日期时,它在表单中显示为文本字段 有人能给我推荐一些麻烦最少的方法吗 我有一个想法,在表单中,你按下一个按钮(选择日期),然后 就像打开一个小窗口,显示JCalendar和日期 选中它将在表单中显示为文本字段 您可能希望尝试
JDialog
s打开表单,并使用JCalendar
的表单供用户选择日期,然后供我用于其他方法
我已经下载了JCalendar
库。我读了一些示例代码,但仍然不知道如何做。我的想法是,在表单中,你按下一个按钮(选择日期),像一个小窗口一样打开JCalendar
,当选择日期时,它在表单中显示为文本字段
有人能给我推荐一些麻烦最少的方法吗
我有一个想法,在表单中,你按下一个按钮(选择日期),然后
就像打开一个小窗口,显示JCalendar和日期
选中它将在表单中显示为文本字段
您可能希望尝试JCalendar
库中的JDateChooser
类,该类允许选择日期或手动键入日期。关于第二部分,您需要向日期选择器提供一个参数,以便侦听“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);
我有一个想法,在表单中,你按下一个按钮(选择日期),然后
就像打开一个小窗口,显示JCalendar和日期
选中它将在表单中显示为文本字段
您可能希望尝试JCalendar
库中的JDateChooser
类,该类允许选择日期或手动键入日期。关于第二部分,您需要向日期选择器提供一个参数,以便侦听“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);
我有一个想法,在表单中,你按下一个按钮(选择日期),然后
就像打开一个小窗口,显示JCalendar和日期
选中它将在表单中显示为文本字段
您可能希望尝试JCalendar
库中的JDateChooser
类,该类允许选择日期或手动键入日期。关于第二部分,您需要向日期选择器提供一个参数,以便侦听“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);
我有一个想法,在表单中,你按下一个按钮(选择日期),然后
就像打开一个小窗口,显示JCalendar和日期
选中它将在表单中显示为文本字段
您可能希望尝试JCalendar
库中的JDateChooser
类,该类允许选择日期或手动键入日期。关于第二部分,您需要向日期选择器提供一个参数,以便侦听“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);
我不是指实时更改文本字段,日历关闭后,日期应该显示给用户。我的主要问题是如何在我的JDialog中实现JCalendar或JDateChooser,我应该如何创建和显示它。@Gedas很抱歉我误解了textfield部分(只需忽略
PropertyChangeListener
部分)。请参阅我的编辑。我觉得这很简单,不是吗?我不是指实时更改文本字段,在日历关闭后,日期应该显示给用户。我的主要问题是如何在我的JDialog中实现JCalendar或JDateChooser,我应该如何创建和显示它。@Gedas很抱歉我误解了textfield部分(只需忽略PropertyChangeListener
部分)。请参阅我的编辑。我觉得这很简单,不是吗?我不是指实时更改文本字段,在日历关闭后,日期应该显示给用户。我的主要问题是如何在我的JDialog中实现JCalendar或JDateChooser,我应该如何创建和显示它。@Gedas很抱歉我误解了textfield部分(只需忽略PropertyChangeListener
部分)。请参阅我的编辑。我觉得这很简单,不是吗?我不是指实时更改文本字段,在日历关闭后,日期应该显示给用户。我的主要问题是如何在我的JDialog中实现JCalendar或JDateChooser,我应该如何创建和显示它。@Gedas很抱歉我误解了textfield部分(只需忽略PropertyChangeListener
部分)。请参阅我的编辑。我觉得很简单,不是吗?