在JOptionPane中显示JDateChooser

时间:2016-02-11 18:44:35

标签: java joptionpane jdatechooser jcalendar

我想在Option窗格中显示JDateChooser组件,具体取决于用户的一些选择。 关键是我尝试使用下一个代码获取JDateChooser我希望它出现的方式:

JOptionPane.showInputDialog(null, new JDateChooser(),"Start date", JOptionPane.PLAIN_MESSAGE);

我尝试了不同类型的JOptionPane变体,但我无法弄清楚如何完成此操作,用户必须能够选择日期并通过单击按钮进行确认以便我可以检索该日期并将其用作String

我想要这样的事情:

String s = JOptionPane.showInputDialog(null,"Text", "More Text", JOptionPane.INFORMATION_MESSAGE);

这样我就可以获得所选日期。 我正在使用jcalendar-1.4.jar

1 个答案:

答案 0 :(得分:3)

我终于找到了适合我的解决方案。我盯着单独创建一个DateChooser和一个String并将它们放在一个Object数组中,然后将该对象作为JOptionPane的参数传递。

JDateChooser jd = new JDateChooser();
String message ="Choose start date:\n";
Object[] params = {message,jd};
JOptionPane.showConfirmDialog(null,params,"Start date", JOptionPane.PLAIN_MESSAGE);

为了在用户点击JOptionPane中的“确定”按钮后获取日期,我实现了一个SimpleDateFormat。

String s="";
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
s=sdf.format(((JDateChooser)params[1]).getDate());//Casting params[1] makes me able to get its information

该实现以我想要的方式解决了问题,我希望你们发现这有用。