GWT中的datePicker [英] datePicker in GWT

查看:134
本文介绍了GWT中的datePicker的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您有一个字符串格式的日期

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆