在 JOptionPane 中显示 JDateChooser

Display JDateChooser in JOptionPane

我想根据用户的一些 selection 在选项窗格中显示 JDateChooser 组件。 关键是我尝试使用下一个代码让 JDateChooser 以我希望它出现的方式出现:

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

我尝试了不同类型的 JOptionPane 变体,但我不知道如何完成此操作,用户必须能够 select 日期并通过单击按钮进行确认,这样我可以检索该日期并将其用作 String.

我想要这样的东西:

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

这样我就可以获得 selected 日期。 我正在使用 jcalendar-1。4.jar

我终于找到了适合我的解决方案。我开始分别创建一个 DateChooser 和一个 String 并将它们放在一个对象数组中,然后将该对象作为参数传递给 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 中的 "OK" 按钮后获取日期,我实现了一个 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

该实现以我想要的方式解决了问题,希望对你们有所帮助。