ListUI (Java Platform SE 8 )
Keywords: javax.swing.plaf.ListUI class
Date: 2026-04-17

javax.swing.plaf

## Class ListUI

- java.lang.Object
- - javax.swing.plaf.ComponentUI
  - - javax.swing.plaf.ListUI

- Direct Known Subclasses:
    BasicListUI, MultiListUI

      public abstract class ListUI
      extends ComponentUI

  The `JList` pluggable look and feel delegate.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ListUI()`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract Rectangle` | `getCellBounds(JList list, int index1, int index2)` Returns the bounding rectangle, in the given list's coordinate system, for the range of cells specified by the two indices.
    `abstract Point` | `indexToLocation(JList list, int index)` Returns the origin in the given `JList`, of the specified item, in the list's coordinate system.
    `abstract int` | `locationToIndex(JList list, Point location)` Returns the cell index in the specified `JList` closest to the given location in the list's coordinate system.

    - ### Methods inherited from class javax.swing.plaf.ComponentUI

      `contains, createUI, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior, getMaximumSize, getMinimumSize, getPreferredSize, installUI, paint, uninstallUI, update`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ListUI

          public ListUI()

  - ### Method Detail

    - #### locationToIndex

          public abstract int locationToIndex(JList list,
                                              Point location)

      Returns the cell index in the specified `JList` closest to the given location in the list's coordinate system. To determine if the cell actually contains the specified location, compare the point against the cell's bounds, as provided by `getCellBounds`. This method returns `-1` if the list's model is empty.
      Parameters:
        `list` - the list
        `location` - the coordinates of the point
      Returns:
        the cell index closest to the given location, or `-1`
      Throws:
        `NullPointerException` - if `location` is null

    - #### indexToLocation

          public abstract Point indexToLocation(JList list,
                                                int index)

      Returns the origin in the given `JList`, of the specified item, in the list's coordinate system. Returns `null` if the index isn't valid.
      Parameters:
        `list` - the list
        `index` - the cell index
      Returns:
        the origin of the cell, or `null`

    - #### getCellBounds

          public abstract Rectangle getCellBounds(JList list,
                                                  int index1,
                                                  int index2)

      Returns the bounding rectangle, in the given list's coordinate system, for the range of cells specified by the two indices. The indices can be supplied in any order.

      If the smaller index is outside the list's range of cells, this method returns `null`. If the smaller index is valid, but the larger index is outside the list's range, the bounds of just the first index is returned. Otherwise, the bounds of the valid range is returned.

      Parameters:
        `list` - the list
        `index1` - the first index in the range
        `index2` - the second index in the range
      Returns:
        the bounding rectangle for the range of cells, or `null`

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.