Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当我拥有所有Joda DateTime对象时,如何使用SWT日历?_Java_Datetime_Widget_Swt_Jodatime - Fatal编程技术网

Java 当我拥有所有Joda DateTime对象时,如何使用SWT日历?

Java 当我拥有所有Joda DateTime对象时,如何使用SWT日历?,java,datetime,widget,swt,jodatime,Java,Datetime,Widget,Swt,Jodatime,我正在Windows(Eclipse和SWT)上开发javagui。我需要GUI用户输入日期(日历小部件),然后进行日期/时间(来自数据源)操作,包括处理不同的时区 为了更好地处理日期/时间,我选择了Joda,因为我相信这比标准SWT更好。然而,据我所知,Joda不支持自己的日历小部件 有谁能告诉我如何做到这一点,将与SWT和Joda兼容 我认为直接引用: private org.joda.time.DateTime jodaDateTime; private swt.DateTime swtD

我正在Windows(Eclipse和SWT)上开发javagui。我需要GUI用户输入日期(日历小部件),然后进行日期/时间(来自数据源)操作,包括处理不同的时区

为了更好地处理日期/时间,我选择了Joda,因为我相信这比标准SWT更好。然而,据我所知,Joda不支持自己的日历小部件

有谁能告诉我如何做到这一点,将与SWT和Joda兼容

我认为直接引用:

private org.joda.time.DateTime jodaDateTime;
private swt.DateTime swtDateTime;

是一个选项,但不知道还有什么其他选项。

这是一个非常简单的转换,您只需创建实用程序方法,即可从默认SWT小部件转换为默认SWT小部件,例如

public class DateUtils {
  public static org.joda.time.DateTime makeJodaFromSWT(
                                org.eclipse.swt.widgets.DateTime widget) {
    return new DateTime(widget.getYear(),
                        widget.getMonth(),
                        widget.getDay(),
                        widget.getHours(),
                        widget.getMinutes(),
                        widget.getSeconds());
  }

  public static void updateSWTwithJoda(
                                org.eclipse.swt.widgets.DateTime widget,
                                org.joda.time.DateTime dateTime) {
    widget.setYear(dateTime.getYear());
    widget.setMonth(dateTime.getMonthOfYear());
    widget.setDay(dateTime.getDayOfMonth());
    widget.setHours(dateTime.getHourOfDay());
    widget.setMinutes(dateTime.getMinuteOfHour());
    widget.setSeconds(dateTime.getSecondOfMinute());
  }
}

我需要更多地了解您的项目,以提出一个比
公共静态
实用程序方法更“智能”的包装方案,但这应该让您走上正确的轨道。

您应该知道,工具或库请求与堆栈溢出无关。然而,提出你的问题并说“帮我解决这个问题”是可以的;如果有人碰巧展示了一个工具,那就有点不同了。请参阅:了解更多信息。对此表示歉意,并感谢durron 597的更正。durron非常感谢。我还没来得及让它工作,但我明白了。@Nigele2别忘了,你可以通过点击投票按钮旁边的空心复选标记来接受这个答案。见: