«Лучшее» решение - воспользоваться доступными функциями.
Java 8+ представила API java.time
, который заменяет API на основе Calendar
и Date
Например, что-то вроде этого, используя YearMonth
class…
for (int year = 2010; year <= 2020; year++) {
YearMonth ym = YearMonth.of(year, Month.FEBRUARY);
System.out.println(year + " = " + ym.lengthOfMonth());
}
, напечатает ...
2010 = 28
2011 = 28
2012 = 29
2013 = 28
2014 = 28
2015 = 28
2016 = 29
2017 = 28
2018 = 28
2019 = 28
2020 = 29
Из этого вы можете просто создатьновый ComboBoxModel
, заполните его необходимыми значениями и примените его к экземпляру JComboBox
- см. Как использовать поля со списком для получения более подробной информации.