Google Web Toolkit (GWT) を初めて学ぶ人のための学習サイトです。実用的なコード例でわかりやすく解説しています。
Google Web Toolkit (GWT) 入門Google Web Toolkit (GWT) 入門
GWT 開発環境
GWT の基本
さらに学ぶ
サイト情報
ホーム > UI の設計 > DatePicker の利用

DatePicker の利用

DatePicker は日付を選択する時に表示するカレンダーの Widget です。

こういうのを一から手で書くのはなかなか面倒なので、やはりライブラリなどのサポートが欲しいものです。

DatePicker で日付を選択した時に発生するイベントは、ValueChange イベントです。 このハンドラを設定する為には、 addValueChangeHandler メソッドに、 ValueChangeHandler インターフェイスを 実装したオブジェクトを渡します。

ValueChangeHandler インターフェイスは onValueChange メソッド一つを持ちます。 このメソッドのパラメータは、ValueChangeEvent オブジェクトですが、 このオブジェクトの getValue メソッドから、変更後の日付を取得できます。

ValueChangeHandler ハンドラでの日付の取得方法及び、それの文字列への変換方法に付いては、 以下のコードサンプルを参考にしてください。

では、具体例を見てみましょう。

出来上がりは次のようになります。

GWT DatePicker サンプル

はじめカレンダー (DatePicker ウィジェット) は非表示の状態で、 "Date..." というボタンをクリックすると上の図のように表示されます。 何らかの日付を選択すると、選択した日付がテキストボックスに入力され、DatePicker はまた非表示になる、という動作です。

package com.keicode.gwt.test.client;
import java.util.Date;

import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.logical.shared.ValueChangeEvent;
import com.google.gwt.event.logical.shared.ValueChangeHandler;
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.datepicker.client.DatePicker;

public class Gwttest1 implements EntryPoint {
  @SuppressWarnings("unchecked")
  public void onModuleLoad() {
      final DatePicker datePicker = new DatePicker();
      final Button testButton = new Button("Date...");
      final TextBox text = new TextBox();

      testButton.addClickHandler(new ClickHandler(){
      public void onClick(ClickEvent event) {
        datePicker.setVisible(true);
      }
      });
      
      datePicker.addValueChangeHandler(new ValueChangeHandler() {
        @Override
        public void onValueChange(ValueChangeEvent event) {
          Date date = (Dateevent.getValue();
          String dateString 
            = DateTimeFormat.getMediumDateFormat().format(date);
          text.setText(dateString);
          datePicker.setVisible(false);
        }
      });

      datePicker.setValue(new Date()true);
      datePicker.setVisible(false);
      
      RootPanel.get("testLabel").add(text);
      RootPanel.get("testButton").add(testButton);
      RootPanel.get("datePicker").add(datePicker);    
  }
}

ホーム > UI の設計 > DatePicker の利用

© 2010 Google Web Toolkit (GWT) 入門