如何在JSpinner中使用鼠标滚动更改日期?

时间:2016-09-03 12:57:56

标签: java jspinner

我在下面有这个代码;我想要的是,如何使用鼠标更改日期?希望有人可以提供帮助。

    JSpinner dateStart = new JSpinner();    
    Date dateNow = Calendar.getInstance().getTime();    
    dateStart.addMouseWheelListener(new MouseWheelListener() {
        public void mouseWheelMoved(MouseWheelEvent e) {

            int direction = e.getWheelRotation();
            if (direction > 0 && dateStart.getPreviousValue() != null){ // down
                dateStart.setValue(dateStart.getPreviousValue());
            } else if (direction < 0 && dateStart.getNextValue() != null){ // up
                dateStart.setValue(dateStart.getNextValue());
            }               
        }
    });
    dateStart.setModel(new SpinnerDateModel(dateNow, null, null, Calendar.DAY_OF_WEEK_IN_MONTH));
    dateStart.setBounds(560, 12, 138, 35);
    frmHistoryRequest.getContentPane().add(dateStart);

我的代码不起作用,而且我还是Java编程的新手。

1 个答案:

答案 0 :(得分:0)

我没有超感官技能,究竟什么不起作用?请在下次提供精确的日志。看起来像dateStart应该在构造函数中得到完整的模型,以便在JSpinner中创建完整的日期值序列,尝试在

中更改空值
dateStart.setModel(new SpinnerDateModel(dateNow, null, null, Calendar.DAY_OF_WEEK_IN_MONTH));

到真正的价值观。希望它会有所帮助。