java-当我拥有所有Joda DateTime对象时,如何使用SWT日历?
作者:互联网
我正在Windows(Eclipse和SWT)上开发Java GUI.我需要GUI用户输入日期(日历小部件),然后进行日期/时间(来自数据源)的操作,包括处理不同的时区.
我改用Joda以获得更好的日期/时间操作,因为我认为这比标准SWT更好.但是,据我了解,Joda不支持其自己的日历小部件.
谁能建议我该如何与SWT和Joda兼容?
我看到了直接引用:
private org.joda.time.DateTime jodaDateTime;
private swt.DateTime swtDateTime;
是一个选择,但想知道还有哪些其他选择.
解决方法:
这是一个足够简单的转换,您只需创建实用程序方法即可与默认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());
}
}
与公共静态实用程序方法相比,我需要更多地了解您的项目才能提出“更智能”的包装方案,但这应该使您走上正确的道路.
标签:jodatime,widget,swt,datetime,java 来源: https://codeday.me/bug/20191119/2038972.html