Index: src/com/google/gwt/gen2/selection/client/DropDownListBox.java
===================================================================
--- src/com/google/gwt/gen2/selection/client/DropDownListBox.java	(revision 1085)
+++ src/com/google/gwt/gen2/selection/client/DropDownListBox.java	(working copy)
@@ -31,6 +31,7 @@
 import com.google.gwt.libideas.resources.client.ImmutableResourceBundle;
 import com.google.gwt.user.client.Event;
 import com.google.gwt.user.client.ui.HasAnimation;
+import com.google.gwt.user.client.ui.HasValue;
 import com.google.gwt.user.client.ui.KeyboardListener;
 import com.google.gwt.user.client.ui.ToggleButton;
 
@@ -41,7 +42,7 @@
  * @param <ValueType> the type of values stored in the list box.
  */
 public class DropDownListBox<ValueType> extends CustomListBox<ValueType>
-    implements HasAnimation, HasBeforeShowHandlers {
+    implements HasAnimation, HasBeforeShowHandlers, HasValue<ValueType> {
 
   /**
    * Css interface for drop down list box.
@@ -225,7 +226,7 @@
   /**
    * Gets the selected value.
    */
-  public ValueType getSelectedValue() {
+  public ValueType getValue() {
     return super.getLastSelectedValue();
   }
 
@@ -266,6 +267,10 @@
     super.setStylePrimaryName(styleName);
   }
 
+  public void setValue(ValueType value) {
+    setSelectedValue(value);
+  }
+
   /**
    * Shows the item list.
    */
Index: src/com/google/gwt/gen2/datepicker/client/DateBox.java
===================================================================
--- src/com/google/gwt/gen2/datepicker/client/DateBox.java	(revision 1085)
+++ src/com/google/gwt/gen2/datepicker/client/DateBox.java	(working copy)
@@ -208,7 +208,7 @@
    * Clears the current selection.
    */
   public void clear() {
-    picker.setSelectedDate(null, false);
+    picker.setValue(null, false);
     box.setText("");
   }
 
@@ -286,7 +286,7 @@
       String cur = box.getText();
       if (cur != null && cur.length() != 0) {
         try {
-          box.setText(dateFormatter.format(picker.getSelectedDate()));
+          box.setText(dateFormatter.format(picker.getValue()));
         } catch (IllegalArgumentException e) {
           box.setText("");
         }
@@ -363,7 +363,7 @@
    * @param date picker
    */
   public void showDate(Date date) {
-    picker.setSelectedDate(date, false);
+    picker.setValue(date, false);
     picker.showDate(date);
     setText(date);
     dirtyText = false;
Index: src/com/google/gwt/gen2/datepicker/client/DefaultCalendarView.java
===================================================================
--- src/com/google/gwt/gen2/datepicker/client/DefaultCalendarView.java	(revision 1085)
+++ src/com/google/gwt/gen2/datepicker/client/DefaultCalendarView.java	(working copy)
@@ -72,7 +72,7 @@
       @Override
       public void onSelected(boolean selected) {
         if (selected) {
-          getDatePicker().setSelectedDate(getValue());
+          getDatePicker().setValue(getValue());
           if (isFiller()) {
             getDatePicker().showDate(getValue());
           }
Index: src/com/google/gwt/gen2/datepicker/client/DatePicker.java
===================================================================
--- src/com/google/gwt/gen2/datepicker/client/DatePicker.java	(revision 1085)
+++ src/com/google/gwt/gen2/datepicker/client/DatePicker.java	(working copy)
@@ -33,6 +33,7 @@
 import com.google.gwt.gen2.widgetbase.client.WidgetCss;
 import com.google.gwt.libideas.resources.client.ImmutableResourceBundle;
 import com.google.gwt.user.client.ui.FlowPanel;
+import com.google.gwt.user.client.ui.HasValue;
 import com.google.gwt.user.client.ui.Widget;
 
 import java.util.Date;
@@ -45,7 +46,7 @@
  */
 public class DatePicker extends Gen2Composite implements
     HasSelectionHandlers<Date>, HasHighlightHandlers<Date>,
-    HasShowRangeHandlers<Date> {
+    HasShowRangeHandlers<Date>, HasValue<Date> {
   /**
    * Css interface for DatePicker.
    */
@@ -477,11 +478,11 @@
   }
 
   /**
-   * Gets the selected date,if any.
+   * Gets the selected date, if any.
    * 
    * @return the selected date
    */
-  public final Date getSelectedDate() {
+  public final Date getValue() {
     return selectedDate;
   }
 
@@ -538,7 +539,7 @@
    * Selects the current highlighted date.
    */
   public final void selectHighlightedDate() {
-    setSelectedDate(getHighlightedDate());
+    setValue(getHighlightedDate());
   }
 
   /**
@@ -584,8 +585,8 @@
    * 
    * @param date the new selected date
    */
-  public final void setSelectedDate(Date date) {
-    setSelectedDate(date, true);
+  public final void setValue(Date date) {
+    setValue(date, true);
   }
 
   /**
@@ -594,7 +595,7 @@
    * @param newSelected the new selected date
    * @param fireEvents should events be fired.
    */
-  public final void setSelectedDate(Date newSelected, boolean fireEvents) {
+  public final void setValue(Date newSelected, boolean fireEvents) {
     Date oldSelected = selectedDate;
 
     if (oldSelected != null) {
Index: src/com/google/gwt/user/client/ui/HasValue.java
===================================================================
--- src/com/google/gwt/user/client/ui/HasValue.java	(revision 0)
+++ src/com/google/gwt/user/client/ui/HasValue.java	(revision 0)
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2006 Google Inc.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.google.gwt.user.client.ui;
+
+/**
+ * An object that implements this interface contains a value of type T, which
+ * can be set and retrieved using these methods.
+ */
+public interface HasValue<T> {
+
+  /**
+   * Gets this object's value.
+   * 
+   * @return the object's value
+   */
+  T getValue();
+
+  /**
+   * Sets this object's value.
+   * 
+   * @param text the object's new value
+   */
+  void setValue(T value);
+}
Index: src-demo/com/google/gwt/gen2/demo/dropdownlistbox/client/DropDownListBoxDemo.java
===================================================================
--- src-demo/com/google/gwt/gen2/demo/dropdownlistbox/client/DropDownListBoxDemo.java	(revision 1085)
+++ src-demo/com/google/gwt/gen2/demo/dropdownlistbox/client/DropDownListBoxDemo.java	(working copy)
@@ -113,7 +113,7 @@
           nextAction = "click to choose Abby";
           break;
         case 0:
-          customBox.setSelectedValue("Abigail Crutcher");
+          customBox.setValue("Abigail Crutcher");
           customBox.showItems();
           lastAction = "current value is Abby. ";
           check("Abigail Crutcher", currentValue,
@@ -121,14 +121,14 @@
           nextAction = "click to choose Henry";
           break;
         case 1:
-          customBox.setSelectedValue("Henry Crutcher");
+          customBox.setValue("Henry Crutcher");
           lastAction = "Henry should be selected<br/> Popup should be closed";
           nextAction = "Manual: choose Katie";
           break;
         case 2:
           if (!"Kaitlyn Crutcher".equals(currentValue)) {
             Window.alert("Uh oh, Katie was not chosen. Instead we have:"
-                + customBox.getSelectedValue());
+                + customBox.getValue());
             katieWasChosen = false;
             lastAction = "Katie was not succesfully chosen";
           } else {
Index: src-demo/com/google/gwt/gen2/demo/datepicker/client/DatePickerDemo.java
===================================================================
--- src-demo/com/google/gwt/gen2/demo/datepicker/client/DatePickerDemo.java	(revision 1085)
+++ src-demo/com/google/gwt/gen2/demo/datepicker/client/DatePickerDemo.java	(working copy)
@@ -285,7 +285,7 @@
     Date d = new Date();
     d.setMonth(2);
     d.setDate(1);
-    picker.setSelectedDate(d);
+    picker.setValue(d);
     return picker;
   };
 
