我想根据用户的某些选择在选项 Pane 中显示一个 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
最佳答案
我终于找到了适合我的解决方案。我开始分别创建一个 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 中的“确定”按钮后获取日期,我实现了一个 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 中显示 JDateChooser,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35347519/