【问题标题】:Display JDateChooser in JOptionPane在 JOptionPane 中显示 JDateChooser
【发布时间】:2016-02-11 18:44:34
【问题描述】:

我想根据用户的某些选择在选项窗格中显示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

【问题讨论】:

  • 下面是一个如何检索内联对话结果的示例:sourceforge.net/p/tus/code/HEAD/tree/tjacobs/ui/dialogs/…
  • 是的,谢谢,这与我试图实现的目标相似,但在这种情况下,我需要用 JDateChooser 替换输入文本元素,看看答案,它可能是将来对您有帮助。

标签: java joptionpane jdatechooser jcalendar


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-06
    • 2016-07-11
    • 1970-01-01
    • 1970-01-01
    • 2012-09-24
    • 1970-01-01
    • 1970-01-01
    • 2012-07-20
    相关资源
    最近更新 更多