
Originariamente inviata da
LeleFT
La questione non è esattamente così semplice: se l'anno selezionato è bisestile, immagino che la combobox dei giorni debba visualizzare i valori da 1 a 29 (e non solo fino a 28).
Se vuoi essere "coerente" con gli anni bisestili, puoi aiutarti in questo modo: costruisci un Calendar posizionato nel giorno 1 del mese scelto e dell'anno scelto. Quindi, verifica qual è il valore massimo per il campo "giorno" di quel calendar:
codice:
int annoScelto = ...;
int meseScelto = ...; // Mese = numero - 1!!!
// Mi posiziono al giorno 1 del mese/anno scelto
GregorianCalendar gc = new GregorianCalendar(annoScelto, meseScelto, 1);
// Ottengo il massimo giorno di quel mese
int maxGiorno = gc.getMaximum( Calendar.DATE );
// Ora costruisci la lista di valori (esempio, come array di string):
String[] giorni = new String[ maxGiorno ];
for(int i=0; i<maxGiorno; i++) giorni[i] = String.valueOf(i+1);
// Usa l'array per la JComboBox
...
Ciao.
