Java 在JOptionPane中显示JDateChooser

Java 在JOptionPane中显示JDateChooser,java,joptionpane,jdatechooser,jcalendar,Java,Joptionpane,Jdatechooser,Jcalendar,我想根据用户的选择在选项窗格中显示JDateChooser组件。 关键是,我尝试使用下一个代码以我希望的方式获取JDateChooser: JOptionPane.showInputDialog(null, new JDateChooser(),"Start date", JOptionPane.PLAIN_MESSAGE); 我尝试了不同类型的JOptionPane变体,但我不知道如何实现这一点,用户必须能够选择日期并通过单击按钮进行确认,以便我可以检索该日期并将其用作字符串 我想要这样的东

我想根据用户的选择在选项窗格中显示
JDateChooser
组件。 关键是,我尝试使用下一个代码以我希望的方式获取
JDateChooser

JOptionPane.showInputDialog(null, new JDateChooser(),"Start date", JOptionPane.PLAIN_MESSAGE);
我尝试了不同类型的
JOptionPane
变体,但我不知道如何实现这一点,用户必须能够选择日期并通过单击按钮进行确认,以便我可以检索该日期并将其用作
字符串

我想要这样的东西:

String s = JOptionPane.showInputDialog(null,"Text", "More Text", JOptionPane.INFORMATION_MESSAGE);
这样我就可以得到选定的日期。
我正在使用jcalendar-1.4.jar

我终于找到了一个适合我的解决方案。我开始分别创建一个日期选择器和一个字符串,并将它们放在一个对象数组中,然后将该对象作为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”按钮后获得日期,我实现了一个SimpleDataFormat

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

这个实现以我想要的方式解决了这个问题,我希望你们觉得这很有帮助

下面是一个如何内联检索对话框结果的示例:是的,谢谢,这与我尝试实现的结果类似,但在本例中,我需要用JDateChooser替换输入文本元素,请查看答案a managed out,这可能对您将来有所帮助。