2016-02-11 4 views
3

Я хочу отобразить компонент JDateChooser внутри панели параметров в зависимости от выбора пользователя. Дело в том, что я пытался получать JDateChooser, как я хочу, чтобы она появилась, используя следующий код:Показать JDateChooser в JOptionPane

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

+0

Вот пример того, как вы можете получить результаты своего встроенного диалога: https://sourceforge.net/p/tus/code/HEAD/tree/tjacobs/ui/dialogs/ParamDialog.java – ControlAltDel

+0

Да, спасибо , то есть что-то похожее на то, что я пытался достичь, но в этом случае мне нужно было заменить входной текстовый элемент на JDateChooser, посмотрите на ответ управляемый, он может быть полезен для вас в будущем. –

ответ

2

Я, наконец, достиг решения, которое сработало для меня. Я смотрел, создавая отдельно 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); 

Для того, чтобы получить дату, когда пользователь нажимает на кнопку «OK» в 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 

Эта реализация решила проблему так, как я хотел, надеюсь, вы, ребята, найдете это полезным.

Смежные вопросы