GWT中的datePicker [英] datePicker in GWT
问题描述
您有一个字符串格式的日期
Hi have Date in a string Format.
datevalue = [Tue Mar 06 06:00:00 CET 2012]在我的代码中,我有 textBox
其中value被设置。
datevalue= [Tue Mar 06 06:00:00 CET 2012].
当我点击文本框
我看到一个 datepicker
。
我想做的是,在 datepicker
中,日期
应该突出显示,无论什么值在文本框
。
what i want to do is , In a datepicker
the date
should be highlighted whatever the value is in textbox
.
,当我点击 datePicker
文本中的值应与相同的格式为
[2012年3月06日06:00:00 CET 2012]。
and also when i click datePicker
the value in the text should be in a same format as
[Tue Mar 06 06:00:00 CET 2012].
我的代码是。
private TextBox getTimeLable(String datevalue) {
// TODO Auto-generated method stub
System.out.println("date" + datevalue);
final TextBox timebx =new TextBox();
timebx.setReadOnly(true);
timebx.setText(datevalue);
final PopupPanel popupPanel=new PopupPanel(true);
DatePicker datePicker=new DatePicker();
datePicker.addValueChangeHandler(new ValueChangeHandler<Date>() {
public void onValueChange(ValueChangeEvent<Date> event) {
// TODO Auto-generated method stub
Date date=event.getValue();
timebx.setText(DateTimeFormat.getFormat("yyyy-MM-dd").format(date));
popupPanel.hide();
}
});
popupPanel.setWidget(datePicker);
timebx.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
// TODO Auto-generated method stub
int x=timebx.getAbsoluteLeft();
int y=timebx.getAbsoluteTop();
popupPanel.setPopupPosition(x, y+20);
popupPanel.show();
}
});
return timebx;
}
p>
edited for error
errorjava.lang.IllegalArgumentException: [Tue Mar 06 05:00:00 UTC 2012]
errorjava.lang.IllegalArgumentException: [Wed May 09 12:00:00 UTC+2 2012]
最初的文本框是这个值[2012年3月06日05:00:00 UTC 2012]。
但是当我点击文本框n选择日期。日期选择器在文本框中给出第二个日期Wed May 09 12:00:00 UTC + 2 2012.第一个可能是由我设置的非法参数。但是第二个是由日期选择器设置的。
Initially the textbox is with this value [Tue Mar 06 05:00:00 UTC 2012] . but when i click on text box n select the date . date picker gives the second date in textbox Wed May 09 12:00:00 UTC+2 2012. The first one may be illegalArgument as it is set by me. but the second one is set by the date picker.
推荐答案
这应该可以工作
import com.google.gwt.i18n.client.DateTimeFormat;
DatePicker datePicker=new DatePicker(); // Have to make final to use in inner method
timebx.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
// TODO Auto-generated method stub
String strDate = timebx.getText();
DateTimeFormat format = DateTimeFormat.getFormat("yyyy-MM-dd");
try {
Date selDate = (Date)format.parse(strDate);
datePicker.setValue(selDate, true);
} catch(Exception pe){
// setting current date
datePicker.setValue(new Date(), true);
}
int x=timebx.getAbsoluteLeft();
int y=timebx.getAbsoluteTop();
popupPanel.setPopupPosition(x, y+20);
popupPanel.show();
}
});
这篇关于GWT中的datePicker的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!