java - 在 JOptionPane 中显示 JDateChooser

标签 java joptionpane jdatechooser jcalendar

我想根据用户的某些选择在选项 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/

相关文章:

java - Java中的字符串我们可以将 "Hello"转换为Hello吗

java - 为什么 List<?> 可以通过方法调用转换转换为 List<E> ?

java - 流过滤器效果不佳我想打印 10 行

java - 为什么 Joptionpane 在 JDialog 之上不是模态的

java - 如何使用 JDateChooser 获取/计算总月数

java - 使用 JDatePicker 仅显示月份和年份

java - 如何防止 SNMP4J GETBULK 在 OID 之前递增最右边的数字?

Java JOptionPane 自定义绘制背景

java - 如何播放另一个文件的声音

java - 在 JCalendar 中使用 JDateChooser 不需要的数据