/** * */ package com.onaro.util.jfc.tables; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.Icon; /** * Class to define menu and/or button actions for a column */ public abstract class ColumnAction extends AbstractAction { private static final long serialVersionUID = 1L; private final int columnIndex; /** * Create action for column menu * @param columnIndex index of selected column in displayed table * @param label text displayed in menu */ public ColumnAction (int columnIndex, String label) { super (label); this.columnIndex = columnIndex; } /** * Create action for column menu * @param columnIndex index of selected column in displayed table * @param label text displayed in menu * @param icon displayed in menu */ public ColumnAction(int columnIndex, String label, Icon icon) { super(label, icon); this.columnIndex = columnIndex; } /** * Set a tooltip for the menu action * @param tooltip text displayed when mouse hovers over menu item */ public void setTooltip (String tooltip) { putValue(Action.SHORT_DESCRIPTION, tooltip); } /** * @return index of column in table (might not be index in model) */ public int getColumnIndex() { return columnIndex; } }