Package org.ka2ddo.yaac.gui.table
Class ActionRenderer
java.lang.Object
org.ka2ddo.yaac.gui.table.ActionRenderer
- All Implemented Interfaces:
CellEditor
,TableCellEditor
,TableCellRenderer
This class displays a JButton as the rendering of an
Action object in a JTable cell. Useful for processing per-row action
buttons in a JTable. The methods defined by this class are to comply
with the TableCellRenderer and TableCell Editor interfaces, and should only be
called by the JTable upon which this renderer is registered as a renderer and
editor.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
Property name for Action property to specify the Font for use on the rendered button. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds a listener to the list that's notified when the editor stops, or cancels editing.void
Tells the editor to cancel editing and not accept any partially edited value.Returns the value contained in the editor.getTableCellEditorComponent
(JTable table, Object value, boolean isSelected, int row, int column) Sets an initialvalue
for the editor.getTableCellRendererComponent
(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) Returns the component used for drawing the cell.boolean
isCellEditable
(EventObject anEvent) Asks the editor if it can start editing usinganEvent
.void
Removes a listener from the list that's notifiedboolean
shouldSelectCell
(EventObject anEvent) Returns true if the editing cell should be selected, false otherwise.boolean
Tells the editor to stop editing and accept any partially edited value as the value of the editor.
-
Field Details
-
BUTTON_FONT
Property name for Action property to specify the Font for use on the rendered button. Null value indicates to use the default font per the button's context.- See Also:
-
-
Constructor Details
-
ActionRenderer
public ActionRenderer()
-
-
Method Details
-
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 interfaceTableCellRenderer
- Parameters:
table
- theJTable
that is asking the renderer to draw; can benull
value
- the value of the cell to be rendered. It is up to the specific renderer to interpret and draw the value. For example, ifvalue
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 valueisSelected
- true if the cell is to be rendered with the selection highlighted; otherwise falsehasFocus
- 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 editingrow
- the row index of the cell being drawn. When drawing the header, the value ofrow
is -1column
- the column index of the cell being drawn
-
getTableCellEditorComponent
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) Sets an initialvalue
for the editor. This will cause the editor tostopEditing
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 interfaceTableCellEditor
- Parameters:
table
- theJTable
that is asking the editor to edit; can benull
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 valueisSelected
- true if the cell is to be rendered with highlightingrow
- the row of the cell being editedcolumn
- the column of the cell being edited- Returns:
- the component for editing
-
addCellEditorListener
Adds a listener to the list that's notified when the editor stops, or cancels editing.- Specified by:
addCellEditorListener
in interfaceCellEditor
- Parameters:
l
- the CellEditorListener
-
cancelCellEditing
public void cancelCellEditing()Tells the editor to cancel editing and not accept any partially edited value.- Specified by:
cancelCellEditing
in interfaceCellEditor
-
getCellEditorValue
Returns the value contained in the editor.- Specified by:
getCellEditorValue
in interfaceCellEditor
- Returns:
- the value contained in the editor
-
isCellEditable
Asks the editor if it can start editing usinganEvent
.anEvent
is in the invoking component coordinate system. The editor can not assume the Component returned bygetCellEditorComponent
is installed. This method is intended for the use of client to avoid the cost of setting up and installing the editor component if editing is not possible. If editing can be started this method returns true.- Specified by:
isCellEditable
in interfaceCellEditor
- Parameters:
anEvent
- the event the editor should use to consider whether to begin editing or not- Returns:
- true if editing can be started
- See Also:
-
removeCellEditorListener
Removes a listener from the list that's notified- Specified by:
removeCellEditorListener
in interfaceCellEditor
- Parameters:
l
- the CellEditorListener
-
shouldSelectCell
Returns true if the editing cell should be selected, false otherwise.- Specified by:
shouldSelectCell
in interfaceCellEditor
- Parameters:
anEvent
- the event the editor should use to start editing- Returns:
- true if the editor would like the editing cell to be selected; otherwise returns false
- See Also:
-
stopCellEditing
public boolean stopCellEditing()Tells the editor to stop editing and accept any partially edited value as the value of the editor.- Specified by:
stopCellEditing
in interfaceCellEditor
- Returns:
- true if editing was stopped; false otherwise
-