我在 mysql 数据库中有一些 varchar 格式的预定义时间,例如 - 16:45、00:30、09:15、20:50 等 10 个。
我想在 jspinner 中显示这些时间中的任何一个,我正在尝试但出现错误 这是我的 jspinner 设置,我在其中显示构造函数内的时间-
Date date = new Date();
SpinnerDateModel sm = new SpinnerDateModel(date, null, null, Calendar.HOUR_OF_DAY);
arr_time.setModel(sm);
JSpinner.DateEditor ar = new JSpinner.DateEditor(arr_time, "HH:mm");
arr_time.setEditor(ar);
这是我的修改按钮代码,我从数据库中以字符串形式获取时间,试图在 jspinner 中显示它们
try {
if (evt.getActionCommand().equals("Modify")) {
String flno=JOptionPane.showInputDialog(this, "Enter Flight Number");
String sql="SELECT * FROM flights WHERE flightno='"+flno+"'";
smt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs = smt.executeQuery(sql);
while (rs.next()) {
jTextField1.setText(rs.getString(1));
arr_time.setValue(rs.getString(2));
jTextField4.setText(rs.getString(4));
jTextField5.setText(rs.getString(5));
}
} else if(evt.getActionCommand().equals("Update")) {
}
run: illegal value
netbeans 7.1 中出现错误
最佳答案
虽然不明显,但该错误告诉您用于设置 JSpinner
的类型和从数据库读取的 String
不兼容。 SpinnerDateModel
使用 Date
作为底层对象类型
尝试
SimpleDateFormat format = new SimpleDateFormat("HH:mm");
arr_time.setValue(format.parseObject(rs.getString(2))); // e.g. input 16:45
关于java - 如何在jspinner中设置预定义时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18903309/