2015-07-12 5 views
1

Как получить имя месяца в строке на JMonthChooser от JCalendar (toedter.com/jcalendar/) и преобразовать его в строки «01», «02», «03», ..., «12» так же просто, как с использованием SimpleDateFormat.Как получить имя месяца в строке на JMonthChooser из JCalendar

Попробую:

String mymonth; 
SimpleDateFormat sdfm = new SimpleDateFormat("MM"); 
JComboBox combom = (JComboBox)jMonthChooser1.getSpinner(); 
mymonth = sdfm.format(((JTextField)combom.getEditor()).getText()); 

Но никакого успеха

ответ

1

я получил другой путь, что мне нужно: Вот код:

JCalendar jCalendar1 = new JCalendar(); 
String mymonth; 
SimpleDateFormat sdf1 = new SimpleDateFormat("MM"); 
Date date1 = jCalendar1.getDate(); 
mymonth = sdf1.format(date1); 
+0

Что случилось с 'JMonthChooser'? – trashgod

+0

Моя основная цель - найти название месяца из JCalendar и индексов в строках формата «01», «02», ..., «12». Я был в замешательстве, я предполагаю, что раньше использовал JMonthChooser. Но потом я мог получить прямой месяц, а имена индексов использовали JCalendar. Название месяца, которое я использую: Строка mymonth; SimpleDateFormat sdf1 = новый SimpleDateFormat ("MMMM"); Дата date1 = jCalendar1.getDate(); mymonth = sdf1.format (date1); Bantuan Anda sangat saya apresiasi. Спасибо. – repot

+0

Ваш желаемый 'Locale' не поддерживается? – trashgod

4

Учитывая экземпляр JMonthChooser, PropertyChangeListener будет видеть новое значение типа Integer в диапазоне 0 .. 11. Вместо того, чтобы пытаться принудить это к дате, подходящей для SimpleDateFormat, рассмотрите возможность использования подходящего Formatter.

JMonthChooser jmc = new JMonthChooser(); 
jmc.addPropertyChangeListener("month", new PropertyChangeListener() { 
    @Override 
    public void propertyChange(PropertyChangeEvent e) { 
     System.out.println(e.getPropertyName() + ": " 
      + String.format("%02d", ((Integer) e.getNewValue()).intValue() + 1)); 
    } 
});