Class MultiList

All Implemented Interfaces:
Animation, Editable, ActionSource, StyleListener

public class MultiList extends List

A list with a com.codename1.components.MultiButton renderer, notice that we strongly discourage usage of lists.. This simplifies the process of working with the list and its model as the renderer comes pre-configured for common use cases.

public void showForm() {
  Form hi = new Form("MultiList", new BorderLayout());

  int mm = Display.getInstance().convertToPixels(3);
  EncodedImage placeholder = EncodedImage.createFromImage(Image.createImage(mm * 3, mm * 4, 0), false);
  Image icon1 = URLImage.createToStorage(placeholder, "icon1", "http://www.georgerrmartin.com/wp-content/uploads/2013/03/GOTMTI2.jpg");
  Image icon2 = URLImage.createToStorage(placeholder, "icon2", "http://www.georgerrmartin.com/wp-content/uploads/2012/08/clashofkings.jpg");
  Image icon3 = URLImage.createToStorage(placeholder, "icon3", "http://www.georgerrmartin.com/wp-content/uploads/2013/03/stormswordsMTI.jpg");
  Image icon4 = URLImage.createToStorage(placeholder, "icon4", "http://www.georgerrmartin.com/wp-content/uploads/2012/08/feastforcrows.jpg");
  Image icon5 = URLImage.createToStorage(placeholder, "icon5", "http://georgerrmartin.com/gallery/art/dragons05.jpg");

  ArrayList> data = new ArrayList<>();
  data.add(createListEntry("A Game of Thrones", "1996", icon1));
  data.add(createListEntry("A Clash Of Kings", "1998", icon2));
  data.add(createListEntry("A Storm Of Swords", "2000", icon3));
  data.add(createListEntry("A Feast For Crows", "2005", icon4));
  data.add(createListEntry("A Dance With Dragons", "2011", icon5));
  data.add(createListEntry("The Winds of Winter", "2016 (please, please, please)", placeholder));
  data.add(createListEntry("A Dream of Spring", "Ugh", placeholder));

  DefaultListModel> model = new DefaultListModel<>(data);
  MultiList ml = new MultiList(model);
  hi.add(BorderLayout.CENTER, ml);
  hi.show();
}

private Map createListEntry(String name, String date, Image icon) {
  Map entry = new HashMap<>();
  entry.put("Line1", name);
  entry.put("Line2", date);
  entry.put("icon", icon);
  return entry;
}
  • Constructor Details

    • MultiList

      public MultiList(ListModel model)

      Constructor that accepts a model for the list

      Parameters
      • model: the model object to assign to the list
    • MultiList

      public MultiList()
      Constructor for the GUI builder
  • Method Details

    • initComponent

      protected void initComponent()
      Allows subclasses to bind functionality that relies on fully initialized and "ready for action" component state
      Overrides:
      initComponent in class Component
    • deinitialize

      protected void deinitialize()
      Description copied from class: Component
      Invoked to indicate that the component initialization is being reversed since the component was detached from the container hierarchy. This allows the component to deregister animators and cleanup after itself. This method is the opposite of the initComponent() method.
      Overrides:
      deinitialize in class Component
    • getSelectedButton

      public MultiButton getSelectedButton()

      Allows developers to customize the properties of the selected multi-button in code

      Returns

      the selected multi button

    • getUnselectedButton

      public MultiButton getUnselectedButton()

      Allows developers to customize the properties of the unselected multi-button in code

      Returns

      the unselected multi button

    • getPropertyNames

      public String[] getPropertyNames()

      A component may expose mutable property names for a UI designer to manipulate, this API is designed for usage internally by the GUI builder code

      Returns

      the property names allowing mutation

      Overrides:
      getPropertyNames in class Component
    • getPropertyTypes

      public Class[] getPropertyTypes()

      Matches the property names method (see that method for further details).

      Returns

      the types of the properties

      Overrides:
      getPropertyTypes in class Component
    • getPropertyValue

      public Object getPropertyValue(String name)

      Returns the current value of the property name, this method is used by the GUI builder

      Parameters
      • name: the name of the property
      Returns

      the value of said property

      Overrides:
      getPropertyValue in class Component
    • setPropertyValue

      public String setPropertyValue(String name, Object value)

      Sets a new value to the given property, returns an error message if failed and null if successful. Notice that some builtin properties such as "$designMode" might be sent to components to indicate application state.

      Parameters
      • name: the name of the property

      • value: new value for the property

      Returns

      error message or null

      Overrides:
      setPropertyValue in class Component