java – 在JOptionPane中显示JDateChooser

我想在Option窗格中显示一个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

解决方法:

我终于找到了适合我的解决方案.我盯着单独创建一个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

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

上一篇:java – 指定单个JOptionPane的目标屏幕


下一篇:java – 如何表示一个垂直的showOptionDialog按钮