0
我的GWT項目存在問題:我只關心計算兩個DatePicker窗口小部件的日期(天)之間的差異。如何計算DatePicker窗口小部件中兩個日期之間的差異
這是我的代碼,我把它主要是從這裏:http://www.gwtproject.org/javadoc/latest/com/google/gwt/user/datepicker/client/DatePicker.html
// Create a date picker "FROM: "
final DatePicker datePicker1 = new DatePicker();
datePicker1.addValueChangeHandler(new ValueChangeHandler<Date>() {
public void onValueChange(ValueChangeEvent<Date> event) {
Date date1 = datePicker1.getValue();
}
});
// Set the default value
datePicker1.setValue(new Date(), true);
// Create a date picker "TO: "
final DatePicker datePicker2 = new DatePicker();
datePicker2.addValueChangeHandler(new ValueChangeHandler<Date>() {
public void onValueChange(ValueChangeEvent<Date> event) {
Date date2 = datePicker2.getValue();
}
});
// Set the default value
datePicker2.setValue(new Date(), true);
// =================DEBUG===================
Button send = new Button("send", new ClickHandler(){
public void onClick(ClickEvent event) {
//calculate difference between date1 and date2
days = (int) CalendarUtil.getDaysBetween(date1, date2);
Window.alert("Differece: " + days);
}
});
但是當我在Eclipse中沒有錯誤,當我運行Web應用程序,我有這樣的錯誤:
[ERROR] [progetto] Uncaught exception escaped
com.google.gwt.event.shared.UmbrellaException: Exception caught: null
[...]
我可以寫更多的錯誤細節,如果有必要,但它很長...
你能告訴我如何解決這個錯誤或如何用另一種方法計算它?
預先感謝您。
我使用完整的代碼編輯了我的帖子。我認爲日期也是空的,但不知道什麼是錯的...在互聯網的一些例子中,我發現方法event.getValue()在我的文章中的鏈接,其他時間,我發現datePicker.getValue(),但沒有人讓我的應用程序正確運行。感謝您的幫助。 – Ciotto
在類級別初始化date1和date2對象,以便onClick事件它們不爲null。也可以使if(data1!= null && date2!= null){你的代碼在這裏}。以及在.addValueChangeHandler方法中打印/調試日期,以便我們知道日期不爲空。 – vicky
我們走吧!我已經將date1和date2初始化爲新的Date(),並刪除了Date date1 = datePicker.getValue()行中的Date類型。現在它工作!謝謝 :) – Ciotto