swt DateTime setDate()错误

时间:2014-03-03 23:16:06

标签: java datetime swt

我有一个像这样定义的DateTime微调器:

 //Class Global
 DateTime dateMin = null;

 //added to the UI
 DateTime dateMin = new DateTime(grpPlaybackSearchOptions, SWT.BORDER);
 dateMin.setBounds(335, 44, 123, 23);

稍后在我的代码中,我希望用户能够加载可能已保存的日期。通过swt DateTime文档挖掘我没看到如何更新日期。

我试过这个,但收到了一个异常错误:

  

//从方法运行
      dateMin.setDate(pMinDate [0],pMinDate [1],pMinDate [2]);

对象是否可以不更新,或者我是否尝试错误地更新对象?

谢谢!

1 个答案:

答案 0 :(得分:1)

不确定您正在努力解决的问题,文档非常明确并提供了方法:

setDate(int year, int month, int day)
setHours(int hours)
setMinutes(int minutes)
setSeconds(int seconds)

这是一个简单的例子:

public static void main(String[] args)
{
    final Display display = new Display();

    Shell shell = new Shell(display);
    shell.setText("StackOverflow");
    shell.setLayout(new GridLayout(1, false));

    final DateTime date = new DateTime(shell, SWT.DATE);
    final DateTime time = new DateTime(shell, SWT.TIME);

    Button button = new Button(shell, SWT.PUSH);
    button.setText("Change date");
    button.addListener(SWT.Selection, new Listener()
    {
        @Override
        public void handleEvent(Event arg0)
        {
            date.setDate(1999, 0, 1);
            time.setHours(0);
            time.setMinutes(0);
            time.setSeconds(0);
        }
    });

    shell.pack();
    shell.open();
    while (!shell.isDisposed())
    {
        if (!display.readAndDispatch())
            display.sleep();
    }
}

它会将日期时间设置为:01/01/1999 00:00:00(使用dd/MM/yyyy HH:mm:ss即...)