Class ComboBoxCellEditor

java.lang.Object
javax.swing.AbstractCellEditor
jmt.framework.gui.table.editors.ComboBoxCellEditor
All Implemented Interfaces:
Serializable, CellEditor, TableCellEditor, TableCellRenderer

public class ComboBoxCellEditor extends AbstractCellEditor implements TableCellEditor, CellEditor, TableCellRenderer

Title: ComboBox Table CellViewer/CellEditor

Description: A component to display a ComboBox as both a viewer and an editor in a table. Internally caches already allocated editors to avoid creation of too many ComboBoxes. Renderer instance is a single element cached too.

Author:
Bertoli Marco Date: 9-gen-2006 Time: 9.44.44
See Also:
  • Field Details

  • Constructor Details

    • ComboBoxCellEditor

      protected ComboBoxCellEditor(Object[] items)
      Creates a new ComboBox editor or renderer basing on given array of items
      Parameters:
      items - array of elements to be shown on the ComboBox
    • ComboBoxCellEditor

      protected ComboBoxCellEditor()
      Creates a new ComboBox editor/renderer
  • Method Details

    • getEditorInstance

      public static ComboBoxCellEditor getEditorInstance(Object[] items)
      Returns a new instance of CellEditor that will display items in a ComboBox
      Parameters:
      items - items to be selected from the ComboBox
      Returns:
      CellEditor created or cached copy with the same items
    • getRendererInstance

      public static ComboBoxCellEditor getRendererInstance()
      Returns a new instance of CellRenderer that will display current item in a ComboBox
      Returns:
      cached CellRenderer
    • getCellEditorValue

      public Object getCellEditorValue()
      Returns the value contained in the editor
      Specified by:
      getCellEditorValue in interface CellEditor
      Returns:
      the value contained in the editor
    • getTableCellEditorComponent

      public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column)
      Sets an initial value for the editor. This will cause the editor to stopEditing and lose any partially edited value if the editor is editing when this method is called.

      Returns the component that should be added to the client's Component hierarchy. Once installed in the client's hierarchy this component will then be able to draw and receive user input.

      Specified by:
      getTableCellEditorComponent in interface TableCellEditor
      Parameters:
      table - the JTable that is asking the editor to edit; can be null
      value - the value of the cell to be edited; it is up to the specific editor 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 highlighting
      row - the row of the cell being edited
      column - the column of the cell being edited
      Returns:
      the component for editing
    • 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; false otherwise
      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