Class ButtonColumn
java.lang.Object
javax.swing.AbstractCellEditor
org.jjazz.uiutilities.api.ButtonColumn
- All Implemented Interfaces:
ActionListener,MouseListener,Serializable,EventListener,CellEditor,TableCellEditor,TableCellRenderer
public class ButtonColumn
extends AbstractCellEditor
implements TableCellRenderer, TableCellEditor, ActionListener, MouseListener
The ButtonColumn class provides a renderer and an editor that looks like a JButton. The renderer and editor will then be used for a specified column in the
table. The TableModel will contain the String to be displayed on the button.
The button can be invoked by a mouse click or by pressing the space bar when the cell has focus. Optionaly a mnemonic can be set to invoke the button. When the button is invoked the provided Action is invoked. The source of the Action will be the table. The action command will contain the model row number of the button that was clicked.
Author: Rob Camick from https://tips4java.wordpress.com/2009/07/12/table-button-column/
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionButtonColumn(JTable table, ActionListener al, int column) Create the ButtonColumn to be used as a renderer and editor. -
Method Summary
Modifier and TypeMethodDescriptionvoidThe button has been pressed.Get foreground color of the button when the cell has focusintgetTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) voidvoidvoidvoidWhen the mouse is pressed the editor is invoked.voidvoidsetFocusBorder(Border focusBorder) The foreground color of the button when the cell has focusvoidsetMnemonic(int mnemonic) The mnemonic to activate the button when the cell has focusMethods inherited from class javax.swing.AbstractCellEditor
addCellEditorListener, cancelCellEditing, getCellEditorListeners, isCellEditable, removeCellEditorListener, shouldSelectCell, stopCellEditingMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface javax.swing.CellEditor
addCellEditorListener, cancelCellEditing, isCellEditable, removeCellEditorListener, shouldSelectCell, stopCellEditing
-
Constructor Details
-
ButtonColumn
Create the ButtonColumn to be used as a renderer and editor. The renderer and editor will automatically be installed on the TableColumn of the specified column.- Parameters:
table- the table containing the button renderer/editoral- the Action to be invoked when the button is invokedcolumn- the column to which the button renderer/editor is added
-
-
Method Details
-
getFocusBorder
Get foreground color of the button when the cell has focus- Returns:
- the foreground color
-
setFocusBorder
The foreground color of the button when the cell has focus- Parameters:
focusBorder- the foreground color
-
getMnemonic
public int getMnemonic() -
setMnemonic
public void setMnemonic(int mnemonic) The mnemonic to activate the button when the cell has focus- Parameters:
mnemonic- the mnemonic
-
getTableCellEditorComponent
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) - Specified by:
getTableCellEditorComponentin interfaceTableCellEditor
-
getCellEditorValue
- Specified by:
getCellEditorValuein interfaceCellEditor
-
getTableCellRendererComponent
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) - Specified by:
getTableCellRendererComponentin interfaceTableCellRenderer
-
actionPerformed
The button has been pressed. Stop editing and invoke the custom Action- Specified by:
actionPerformedin interfaceActionListener
-
mousePressed
When the mouse is pressed the editor is invoked. If you then then drag the mouse to another cell before releasing it, the editor is still active. Make sure editing is stopped when the mouse is released.- Specified by:
mousePressedin interfaceMouseListener
-
mouseReleased
- Specified by:
mouseReleasedin interfaceMouseListener
-
mouseClicked
- Specified by:
mouseClickedin interfaceMouseListener
-
mouseEntered
- Specified by:
mouseEnteredin interfaceMouseListener
-
mouseExited
- Specified by:
mouseExitedin interfaceMouseListener
-