Sarebbe stato meglio aprire un altro thread, visto che si parla di altro argomento... ad ogni modo, dovresti sbatterti un po' con la documentazione ed i tutorial... ad esempio, mettendo insieme un po' di cose trovate qui e lì in internet e sul sito della oracle ho prodotto:
codice:private class MySpinnerDateModel extends SpinnerDateModel { private Date startDate, earliestDate, endDate; private int field; GregorianCalendar cal = new GregorianCalendar(); GregorianCalendar tempCal = new GregorianCalendar(); public Object getNextValue() { Date actualDate = this.getDate(); cal.setTime(actualDate); tempCal.setTime(actualDate); tempCal.add(field, 15); if (!tempCal.getTime().after(endDate)) { cal.add(field, 15); } return cal.getTime(); } public Object getPreviousValue() { Date actualDate = this.getDate(); cal.setTime(actualDate); tempCal.setTime(actualDate); tempCal.add(field, -15); if (!tempCal.getTime().before(earliestDate)) { cal.add(field, -15); } return cal.getTime(); } public MySpinnerDateModel(Date startDate, Date earliestDate, Date endDate, int field) { super(startDate, earliestDate, endDate, field); this.startDate = startDate; this.earliestDate = earliestDate; this.endDate = endDate; this.field = field; } } public JSpinner JSpinnerTime() { GregorianCalendar calendar = new GregorianCalendar(); calendar.setTime(new Date(0)); calendar.set(Calendar.HOUR_OF_DAY, 7); calendar.set(Calendar.MINUTE, 0); Date earliestDate = calendar.getTime(); calendar.set(Calendar.HOUR_OF_DAY, 22); calendar.set(Calendar.MINUTE, 0); Date latestDate = calendar.getTime(); calendar.set(Calendar.HOUR_OF_DAY, 15); calendar.set(Calendar.MINUTE, 0); Date startDate = calendar.getTime(); JSpinner spinner = new JSpinner(new MySpinnerDateModel(startDate, earliestDate, latestDate, Calendar.MINUTE)); spinner.setEditor(new JSpinner.DateEditor(spinner, "HH:mm")); return spinner; }

Rispondi quotando