5

我想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

4

1 回答 1

5

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

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

于 2016-02-12T14:00:03.383 回答