从 MySQL 数据库中检索时间并在 Java 中填充 JSpinner

Retrieve time from MySQL database & populate JSpinner in Java

如何从 MySQL 数据库中检索时间格式并使用它来填充 Java 中的 JSpinner?当我单击 'NEXT' 按钮时,应该填充 JSpinner。我目前使用的代码如下:

    Calendar calendar = Calendar.getInstance();
    calendar.set(Calendar.HOUR_OF_DAY, 24); // 24 == 12 PM == 00:00:00
    calendar.set(Calendar.MINUTE, 0);
    calendar.set(Calendar.SECOND, 0);

    SpinnerDateModel model = new SpinnerDateModel();
    model.setValue(calendar.getTime());

    spinner = new JSpinner(model);
    JSpinner.DateEditor editor = new JSpinner.DateEditor(spinner, "HH:mm:ss");
    DateFormatter formatter = (DateFormatter)editor.getTextField().getFormatter();
    formatter.setAllowsInvalid(false); 
    formatter.setOverwriteMode(true);

    spinner.setEditor(editor);
    spinner.setBounds(419, 218, 119, 26);
    frame.getContentPane().add(spinner);

    JButton btnNext = new JButton("Next");
    btnNext.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
                try {
                    if(rs.next()){
                    String time = rs.getString("Time");
                    spinner.setValue(time); // This is not working
                ...
        }
    }

您正在使用 SpinnerDateModel 作为 JSpinner 的模型并且它使用 Date 类型,但您正在尝试设置 String 值。

我认为您需要先将其格式化为 Date,然后再设置 spinner 的值:

String time = rs.getString("Time");
SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
spinner.setValue(format.parseObject(time));