Class PickerComponent

All Implemented Interfaces:
Animation, Editable, StyleListener, Iterable<Component>

public class PickerComponent extends InputComponent

A picker component similar to com.codename1.ui.TextComponent that adapts to native UI conventions and leverages the com.codename1.ui.spinner.Picker API. See the docs for com.codename1.ui.InputComponent for more options and coverage.

The following code demonstrates a simple set of inputs and validation as it appears in iOS, Android and with validation errors

TextModeLayout tl = new TextModeLayout(3, 2);
Form f = new Form("Pixel Perfect", tl);

TextComponent title = new TextComponent().label("Title");
TextComponent price = new TextComponent().label("Price");
TextComponent location = new TextComponent().label("Location");
PickerComponent date = PickerComponent.createDate(new Date()).label("Date");
TextComponent description = new TextComponent().label("Description").multiline(true);

Validator val = new Validator();
val.addConstraint(title, new LengthConstraint(2));
val.addConstraint(price, new NumericConstraint(true));

f.add(tl.createConstraint().widthPercentage(60), title);
f.add(tl.createConstraint().widthPercentage(40), date);
f.add(location);
f.add(price);
f.add(tl.createConstraint().horizontalSpan(2), description);
f.setEditOnShow(title.getField());

f.show();
  • Constructor Details

    • PickerComponent

      protected PickerComponent()
      Allows subclassing the picker component for customization
  • Method Details

    • createStrings

      public static PickerComponent createStrings(String... values)

      Creates a strings picker component

      Parameters
      • values: the values for the picker
      Returns

      a strings version of the picker component

    • createDate

      public static PickerComponent createDate(Date date)

      Creates a date picker component

      Parameters
      • date: the initial date in the picker
      Returns

      a date version of the picker component

    • createDateTime

      public static PickerComponent createDateTime(Date date)

      Creates a date + time picker component

      Parameters
      • date: the initial date in the picker
      Returns

      a date + time version of the picker component

    • createTime

      public static PickerComponent createTime(int minutes)

      Creates a time picker component

      Parameters
      • minutes: minutes since midnight as a time of day
      Returns

      a time version of the picker component

    • createDurationMinutes

      public static PickerComponent createDurationMinutes(int ms)

      Creates a duration minutes picker component

      Parameters
      • ms: the duration value in milliseconds
      Returns

      a duration version of the picker component

    • createDurationHoursMinutes

      public static PickerComponent createDurationHoursMinutes(int hours, int minutes)

      Creates a duration hours + minutes picker component

      Parameters
      • hours: the number of hours

      • minutes: the number of minutes

      Returns

      a duration version of the picker component

    • createPickerInstance

      protected Picker createPickerInstance()

      Allows developers to subclass the Picker component instance to customize behaviors of the subclass

      Returns

      the picker instance

    • getEditor

      public final Component getEditor()

      Returns the editor component e.g. text field picker etc.

      Returns

      the editor component

      Specified by:
      getEditor in class InputComponent
    • getPicker

      public Picker getPicker()

      Returns the picker instance

      Returns

      the picker

    • onTopMode

      public PickerComponent onTopMode(boolean onTopMode)

      Overridden for covariant return type

      Sets the on top mode which places the label above the text when true. It's to the left of the text otherwise (right in bidi languages). This is determined by the platform theme using the textComponentOnTopBool theme constant which defaults to false

      Parameters
      • onTopMode: true for the label to be above the text
      Returns

      this for chaining calls E.g. TextComponent tc = new TextComponent().text("Text").label("Label");

      Overrides:
      onTopMode in class InputComponent
    • errorMessage

      public PickerComponent errorMessage(String errorMessage)

      Overridden for covariant return type

      Sets the text of the error label

      Parameters
      • errorMessage: the text
      Returns

      this for chaining calls E.g. TextComponent tc = new TextComponent().text("Text").label("Label");

      Overrides:
      errorMessage in class InputComponent
    • label

      public PickerComponent label(String text)

      Overridden for covariant return type

      Sets the text of the label

      Parameters
      • text: the text
      Returns

      this for chaining calls E.g. TextComponent tc = new TextComponent().text("Text").label("Label");

      }

      Overrides:
      label in class InputComponent