Class ListField

java.lang.Object
de.gurkenlabs.litiengine.gui.GuiComponent
de.gurkenlabs.litiengine.gui.ListField
All Implemented Interfaces:
IRenderable, Tweenable, MouseListener, MouseMotionListener, MouseWheelListener, EventListener

public class ListField extends GuiComponent
The Class ListField.
  • Constructor Details

    • ListField

      public ListField(double x, double y, double width, double height, Object[] content, int shownRows)
      Creates a vertical list field.

      The content of this list field can only be accessed through the first column (column 0).
      Examples:
      content[0][0] - ok
      content[0][1] - ok
      content[0][8] - ok
      content[1][5] - NOK
      content[2][0] - NOK
      Parameters:
      x - The x-coordinate of the ListField.
      y - The y-coordinate of the ListField.
      width - The width of the ListField.
      height - The height of the ListField.
      content - The 1 dimension array to show in the ListField.
      shownRows - The number of rows/elements to display before the user needs to scroll for more possible rows/elements.
      See Also:
    • ListField

      public ListField(double x, double y, double width, double height, Object[][] content, int shownRows, int shownColumns)
      Creates a 2D vertical list field.

      The given content should be arranged as columns of elements.
      Examples:
      content[0][0] - column 0, row 0
      content[0][1] - column 0, row 1
      content[2][8] - column 2, row 8
      Parameters:
      x - The x-coordinate of the ListField.
      y - The y-coordinate of the ListField.
      width - The width of the ListField.
      height - The height of the ListField.
      content - The 2 dimension array to show in the ListField.
      shownRows - The number of rows to display before the user needs to scroll for more possible rows.
      shownColumns - The number of columns to display before the user needs to scroll for more possible columns.
  • Method Details

    • deselect

      public void deselect()
      Resets the ListField's selection to null.
      The ListField will then show no selection.
    • getButtonSprite

      public Spritesheet getButtonSprite()
    • setButtonSprite

      public void setButtonSprite(Spritesheet buttonSprite)
    • getChangeConsumer

      public List<IntConsumer> getChangeConsumer()
    • getContent

      public Object[][] getContent()
    • getEntrySprite

      public Spritesheet getEntrySprite()
    • setEntrySprite

      public void setEntrySprite(Spritesheet entrySprite)
    • getHorizontalLowerBound

      public int getHorizontalLowerBound()
    • setHorizontalLowerBound

      public void setHorizontalLowerBound(int lowerBound)
    • getHorizontalSlider

      public HorizontalSlider getHorizontalSlider()
    • getListEntry

      public List<ImageComponent> getListEntry(int column)
      Returns all list items of a specified column.
      Parameters:
      column - the column
      Returns:
      a list of items
    • getListEntry

      public ImageComponent getListEntry(int column, int row)
      Returns item at a specified column and row.
      Parameters:
      column - the column
      row - the row
      Returns:
      ImageComponent at [column,row]
    • getMaxRows

      public int getMaxRows()
      Returns the number of rows of the tallest column.
      Returns:
      int representing the length of the tallest column
    • getNumberOfShownRows

      public int getNumberOfShownRows()
    • getNumberOfShownColumns

      public int getNumberOfShownColumns()
    • getSelectedComponent

      public ImageComponent getSelectedComponent()
    • getSelectedObject

      public Object getSelectedObject()
    • getSelectionColumn

      public int getSelectionColumn()
      Returns the selected column.
      Returns:
      number of the column; -1 if isEntireRowSelected() is true
    • getSelectionRow

      public int getSelectionRow()
      Returns the selected row.
      Returns:
      number of the row
    • getVerticalLowerBound

      public int getVerticalLowerBound()
    • setVerticalLowerBound

      public void setVerticalLowerBound(int lowerBound)
    • getVerticalSlider

      public VerticalSlider getVerticalSlider()
    • isArrowKeyNavigation

      public boolean isArrowKeyNavigation()
    • setArrowKeyNavigation

      public void setArrowKeyNavigation(boolean arrowKeyNavigation)
    • onChange

      public void onChange(IntConsumer c)
    • refresh

      public void refresh()
    • render

      public void render(Graphics2D g)
      Description copied from class: GuiComponent
      Note: If you override this and are modifying swing components, be sure you are in the AWT thread when you do so!
      Specified by:
      render in interface IRenderable
      Overrides:
      render in class GuiComponent
      Parameters:
      g - The current graphics object onto which this instance will render its visual contents.
      See Also:
    • setForwardMouseEvents

      public void setForwardMouseEvents(int column, boolean forwardMouseEvents)
    • setSelection

      public void setSelection(int column, int row)
    • setSelectEntireColumn

      public void setSelectEntireColumn(boolean selectEntireColumn)
      If set to true, selecting an element will show a selection of the entire column on which that element is on. Without taking account of its row.

      Set to false as default.
      Parameters:
      selectEntireColumn - a boolean
    • setSelectEntireRow

      public void setSelectEntireRow(boolean selectEntireRow)
      If set to true, selecting an element will show a selection of the entire row on which that element is on. Without taking account of its column.

      Set to false as default.
      Parameters:
      selectEntireRow - a boolean
    • isEntireColumnSelected

      public boolean isEntireColumnSelected()
      Returns:
      true if selection is set to select the entire column; false otherwise
    • isEntireRowSelected

      public boolean isEntireRowSelected()
      Returns:
      true if selection is set to select the entire row; false otherwise
    • isSliderInside

      public boolean isSliderInside()
      Verify if sliders are set to be inside the ListField.
      Returns:
      true if slider is set to be inside the ListField; false otherwise
    • setSliderInside

      public void setSliderInside(boolean sliderInside)
      If set to true, the sliders of this ListField will be displayed within its boundaries. This is necessary, for example, when a ListField covers an entire screen.
      Set to false as default.
      Parameters:
      sliderInside - a boolean
    • slideUp

      public void slideUp()
      Slides the ListField up by one row.
    • slideDown

      public void slideDown()
      Slides the ListField down by one row.