从 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));
如何从 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));