java - 如何在jspinner中设置预定义时间

标签 java swing date simpledateformat jspinner

我在 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/

相关文章:

java - 如何更改生成的 jaxb 类中的 targetName 空间

Java旋转动画

java - Liquibase 将列类型从日期更改为日期时间而不删除包含的值

java - 如何通过 Spring XML 手动启动 Camel Route?

java - Alfresco - 添加文件后运行自定义工作流程

java - 将 Enum 类名本身作为 String 获取的最佳方法

java - 将鼠标移到 Chrome 网页元素上时计时器会加快

java - 如何确保在 JFrame 上随机位置绘制的点不会与已绘制的形状重叠?

javascript - Jquery/Javascript - 每个日期到时间戳

java - 按天拆分 java.util.Date 集合