Class EnumListLocalizedRenderer<T extends Enum>

All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, ListCellRenderer<Object>, UIResource, SwingConstants

public class EnumListLocalizedRenderer<T extends Enum> extends BasicComboBoxRenderer.UIResource
ListCellRenderer for JComboBoxes displaying enumerations that have localized names. It will fail brutally if the JList is not displaying enumerations.
Author:
Andrew Pavlin, KA2DDO
See Also:
  • Constructor Details

    • EnumListLocalizedRenderer

      public EnumListLocalizedRenderer()
      Create a renderer that shows only the localized full String for the Enum.
    • EnumListLocalizedRenderer

      public EnumListLocalizedRenderer(EnumNameLocalizer.Type transType)
      Create a renderer that shows either the localized full String or the localized abbreviation for the Enum.
      Parameters:
      transType - Type of translation to look up
  • Method Details

    • getListCellRendererComponent

      public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus)
      Return a component that has been configured to display the specified value. That component's paint method is then called to "render" the cell. If it is necessary to compute the dimensions of a list because the list cells do not have a fixed size, this method is called to generate a component on which getPreferredSize can be invoked.
      Specified by:
      getListCellRendererComponent in interface ListCellRenderer<T extends Enum>
      Overrides:
      getListCellRendererComponent in class BasicComboBoxRenderer
      Parameters:
      list - The JList we're painting.
      value - The value returned by list.getModel().getElementAt(index).
      index - The cells index.
      isSelected - True if the specified cell was selected.
      cellHasFocus - True if the specified cell has the focus.
      Returns:
      A component whose paint() method will render the specified value.