I'm trying to set a JSpinner
to run from hour 00:00 to 02:00.
So I built this code:
import javax.swing.JSpinner;
import javax.swing.SpinnerDateModel;
public class HourSpinner2 extends javax.swing.JFrame {
javax.swing.JSpinner jSpinner2;
public HourSpinner2() {
jSpinner2 = new javax.swing.JSpinner();
add(jSpinner2);
// Option 1 : set range
jSpinner2.setModel(new SpinnerDateModel(new java.util.Date(1388498400000L), new java.util.Date(1388484000000L), new java.util.Date(1388505600000L), java.util.Calendar.MINUTE));
// Option 2 : set HH:mm format
jSpinner2.setModel(new SpinnerDateModel(new java.util.Date(1388498400000L), null, null, java.util.Calendar.MINUTE));
JSpinner.DateEditor de = new JSpinner.DateEditor(jSpinner2, "HH:mm");
de.getTextField().setEditable( false );
jSpinner2.setEditor(de);
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new HourSpinner2().setVisible(true);
}
});
}
}
What I find out is that I can do only one of the 2 at a time. Either set a range or set a format. Doing both would simply freeze the component for user edit.
How to make this work for both range and format?