JSpinner mit alten Werten

Ich verwende einige JSpinners in meinem Projekt, die die Stunde und die Minuten anzeigen. Wenn der JSpinner inkrementiert oder dekrementiert wird, muss ich den Wert in der Datenbank speichern. Aber das Problem ist, dass die JSpinners mir alte Werte geben. zB- Wenn die angezeigte Zeit ist09:30 und ich erhöhe die Zeit auf10:30Ich erhalte 09:30 als den zurückgegebenen Wert. Ich benutze folgenden Code

UPDATED SSCCE

package spinnerupdation;

import java.awt.Container;
import java.awt.FlowLayout;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JSpinner;
import javax.swing.SpinnerDateModel;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.text.DateFormatter;
import javax.swing.text.DefaultFormatterFactory;

/**
 *
 * @author Rohan Kandwal
 */
public class SpinnerUpdation extends JFrame{
 public JSpinner spinner;
    SpinnerUpdation(){
        Container pane=this.getContentPane();
        JPanel panel=new JPanel();
        panel.setLayout(new FlowLayout());
        SpinnerDateModel model=new SpinnerDateModel();
        model.setCalendarField(Calendar.HOUR);
        spinner=new JSpinner();
        spinner.setModel(model);
        spinner.setEditor(new JSpinner.DateEditor(spinner,"hh:mm"));
        panel.add(spinner);
        pane.add(panel);
        spinner.addChangeListener(new ChangeListener() {

            @Override
            public void stateChanged(ChangeEvent e) {
                        JFormattedTextField tf = ((JSpinner.DefaultEditor) spinner.getEditor()).getTextField();
                        DefaultFormatterFactory factory = (DefaultFormatterFactory) tf.getFormatterFactory();
                        DateFormatter formatter = (DateFormatter) factory.getDefaultFormatter();

                        // Change the date format to only show the hours
                        formatter.setFormat(new SimpleDateFormat("hh:mm"));
                        //formatter.setCommitsOnValidEdit(true);

                System.out.println(spinner.getValue());
                //System.out.println(tf.getText());
            }
        });


            }
    public static void main(String[] args) {
        SpinnerUpdation ss=new SpinnerUpdation();

        ss.setDefaultCloseOperation(ss.EXIT_ON_CLOSE);
        ss.setSize(574, 445);
     //ss.pack();

     ss.setLocationRelativeTo(null);
     ss.setResizable(false);
     ss.setVisible(true);
    }
}

wenn ich benutzetf.getText() Ich erhalte den alten Wert zweimal, aber wenn ich benutzespinner.getValue Ich erhalte den neuen Wert, aber er ist im Langformat

Thu Jan 01 10:18:00 IST 1970
Thu Jan 01 11:18:00 IST 1970

Wie soll ich spinner formatieren um nur zu geben11:18 ?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage