Class SSRenderer

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

public class SSRenderer extends JLabel implements ListCellRenderer<Object>, TableCellRenderer
This class defines a ListCellRenderer and TableCellRenderer for several different data types that represent combinations of station type icons and strings. The supported data types are:
  • plain String callsigns
  • StationState objects containing the station or object's identifier/callsign string and the APRS symbol table and symbol code for the display icon
  • LocalObjectTracker.ObjectLink objects (from the LocalObjectTracker containing a locally-created ObjectReport
  • SelectableSymbol object (which are wrappers for a symTableId and symbolCode pair)
  • 2-element char arrays containing a symTableId and symbolCode pair
  • Color objects to be rendered as a fill color with an indication of its alpha transparency
Author:
Andrew Pavlin, KA2DDO
See Also:
  • Constructor Details

    • SSRenderer

      public SSRenderer()
      Create a SSRenderer that does not show the internal APRS symbol code characters or station aliases (tactical names).
    • SSRenderer

      public SSRenderer(boolean showSymbolChars)
      Create a SSRenderer that does not show the station aliases (tactical names) but may show internal APRS symbol code characters.
      Parameters:
      showSymbolChars - boolean true if internal APRS symbol code characters should be displayed for values of type SelectableSymbol or char array
    • SSRenderer

      public SSRenderer(boolean showSymbolChars, boolean showAliases)
      Create a SSRenderer that may show the station aliases (tactical names) and/or internal APRS symbol code characters.
      Parameters:
      showSymbolChars - boolean true if internal APRS symbol code characters should be displayed for values of type SelectableSymbol or char array
      showAliases - boolean true if station/object aliases (tactical names) should be displayed for values of type StationState
  • 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<Object>
      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.
    • getTableCellRendererComponent

      public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
      Returns the component used for drawing the cell. This method is used to configure the renderer appropriately before drawing.
      Specified by:
      getTableCellRendererComponent in interface TableCellRenderer
      Parameters:
      table - the JTable that is asking the renderer to draw; can be null
      value - the value of the cell to be rendered. It is up to the specific renderer to interpret and draw the value. For example, if value is the string "true", it could be rendered as a string or it could be rendered as a check box that is checked. null is a valid value
      isSelected - true if the cell is to be rendered with the selection highlighted; otherwise false
      hasFocus - if true, render cell appropriately. For example, put a special border on the cell, if the cell can be edited, render in the color used to indicate editing
      row - the row index of the cell being drawn. When drawing the header, the value of row is -1
      column - the column index of the cell being drawn