Sì, ma se non specifichi che libreria stai usando, visto che non è standard, hai voglia a ricevere risposte :P
Comunque spulciando i sorgenti (non c'è tanta roba, sono solo 4 classi), ho trovato questo metodo in JTimePopup
codice:
public void layoutCalendar(Date timeTarget)
{
calendar.setTime(timeTarget);
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
String[] array = new String[24 * 2];
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
int selectedIndex = -1;
for (int i = 0; i < array.length; i++)
{
if (hour == calendar.get(Calendar.HOUR_OF_DAY))
if (minute == calendar.get(Calendar.MINUTE))
selectedIndex = i;
Date time = calendar.getTime();
String strTime = timeFormat.format(time);
array[i] = strTime;
calendar.add(Calendar.MINUTE, 30);
}
DefaultComboBoxModel model = new DefaultComboBoxModel(array);
this.setVisibleRowCount(10);
this.setModel(model);
if (selectedIndex != -1)
this.setSelectedIndex(selectedIndex);
}
che mi sa essere quello di tuo interesse, solo che non ci vedo un metodo per modificare quel
codice:
calendar.add(Calendar.MINUTE, 30);
quindi dovresti ricompilare fixando quella riga con l'intervallo desiderato...per esempio, un minuto. Poi però se guardi più su, crea un array di solo 48 elementi (ci sono 48 mezz'ore in un giorno), e quindi credo che così vedresti solo i primi 48 minuti del giorno (00:00 - 00:47). Quindi ci sarebbe da sistemare anche quella (e diventa una combo infinita).
Allora perché non utilizzare un prodotto forse più maturo? Per esempio JCalendar http://toedter.com/jcalendar/ che se non ricordo male, consente customizzazioni più profonde?