我想在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
该实现以我想要的方式解决了问题,我希望你们发现这有用.