У меня проблема с моим проектом 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);
}
});
, но пока у меня нет ошибки в затмении, когда я запустить веб-приложение, у меня есть эта ошибка:
[ERROR] [progetto] Uncaught exception escaped
com.google.gwt.event.shared.UmbrellaException: Exception caught: null
[...]
В случае необходимости я могу написать дополнительную информацию об ошибке, но это очень долго ...
Не могли бы вы рассказать мне, как исправить эту ошибку или как ее вычислить с помощью альтернативных методов?
Заранее спасибо.
Я отредактировал свое сообщение с полным кодом. Я думаю, что даты тоже нулевые, но не знаю, что не так ... В некоторых примерах в Интернете я нашел метод event.getValue() как в ссылке в моем сообщении, в других случаях я нашел datePicker.getValue(), но никто не позволяет моему приложению работать правильно. спасибо за помощь. – Ciotto
инициализировать объект date1 и date2 на уровне класса, чтобы события onClick не были нулевыми. Также создайте условие, подобное if (data1! = Null && date2! = Null) {ваш код здесь}. наряду с этим, даты печати/отладки в обоих методах .addValueChangeHandler, чтобы мы знали, что даты не ноль. – vicky
Здесь мы идем! Я инициализировал date1 и date2 как новую Date() и удалил тип Date в строке Date date1 = datePicker.getValue(). Теперь это работает! Спасибо :) – Ciotto