## grendel.widgets
Class ToolBarButton

    java.lang.Object
      |
      +--java.awt.Component
            |
            +--java.awt.Container
                  |
                  +--javax.swing.JComponent
                        |
                        +--javax.swing.AbstractButton
                              |
                              +--javax.swing.JButton
                                    |
                                    +--grendel.widgets.ToolBarButton

public class ToolBarButton
extends javax.swing.JButton
implements java.awt.event.MouseListener

The ToolBarButton class implements the standard Netscape toolbar button behaviour of painting a flat border normally, and a raised border when the mouse moves over it.

See Also:
  Serialized Form

Inner classes inherited from class javax.swing.JButton
`javax.swing.JButton.AccessibleJButton`

Inner classes inherited from class javax.swing.AbstractButton
`javax.swing.AbstractButton.AccessibleAbstractButton, javax.swing.AbstractButton.ButtonChangeListener`

Inner classes inherited from class javax.swing.JComponent
`javax.swing.JComponent.AccessibleJComponent`

Fields inherited from class javax.swing.AbstractButton

`actionListener, BORDER_PAINTED_CHANGED_PROPERTY, changeEvent, changeListener, CONTENT_AREA_FILLED_CHANGED_PROPERTY, DISABLED_ICON_CHANGED_PROPERTY, DISABLED_SELECTED_ICON_CHANGED_PROPERTY, FOCUS_PAINTED_CHANGED_PROPERTY, HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY, HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY, ICON_CHANGED_PROPERTY, itemListener, MARGIN_CHANGED_PROPERTY, MNEMONIC_CHANGED_PROPERTY, model, MODEL_CHANGED_PROPERTY, PRESSED_ICON_CHANGED_PROPERTY, ROLLOVER_ENABLED_CHANGED_PROPERTY, ROLLOVER_ICON_CHANGED_PROPERTY, ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY, SELECTED_ICON_CHANGED_PROPERTY, TEXT_CHANGED_PROPERTY, VERTICAL_ALIGNMENT_CHANGED_PROPERTY, VERTICAL_TEXT_POSITION_CHANGED_PROPERTY`

Fields inherited from class javax.swing.JComponent
`accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW`

Fields inherited from class java.awt.Component
`BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

Constructor Summary
`ToolBarButton()` Default constructor.
`ToolBarButton(javax.swing.Icon icon)` Creates a button with an icon only.
`ToolBarButton(java.lang.String text)` Creates a button with a text label only.
`ToolBarButton(java.lang.String text, javax.swing.Icon icon)` Creates a button with a text label and an icon.

Method Summary
`void` | `mouseClicked(java.awt.event.MouseEvent evt)`
`void` | `mouseEntered(java.awt.event.MouseEvent evt)` Paints a raised border when the mouse passes over the button.
`void` | `mouseExited(java.awt.event.MouseEvent evt)` Paints an empty border when the mouse leaves the button area.
`void` | `mousePressed(java.awt.event.MouseEvent evt)` Paints a loweredBevelBorder when the mouse is pressed.
`void` | `mouseReleased(java.awt.event.MouseEvent evt)` Paints the border raised again when the mouse is released.

Methods inherited from class javax.swing.JButton
`getAccessibleContext, getUIClassID, isDefaultButton, isDefaultCapable, paramString, setDefaultCapable, updateUI`

Methods inherited from class javax.swing.AbstractButton

`addActionListener, addChangeListener, addItemListener, checkHorizontalKey, checkVerticalKey, createActionListener, createChangeListener, createItemListener, doClick, doClick, fireActionPerformed, fireItemStateChanged, fireStateChanged, getActionCommand, getDisabledIcon, getDisabledSelectedIcon, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getLabel, getMargin, getMnemonic, getModel, getPressedIcon, getRolloverIcon, getRolloverSelectedIcon, getSelectedIcon, getSelectedObjects, getText, getUI, getVerticalAlignment, getVerticalTextPosition, init, isBorderPainted, isContentAreaFilled, isFocusPainted, isRolloverEnabled, isSelected, paintBorder, removeActionListener, removeChangeListener, removeItemListener, setActionCommand, setBorderPainted, setContentAreaFilled, setDisabledIcon, setDisabledSelectedIcon, setEnabled, setFocusPainted, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setLabel, setMargin, setMnemonic, setMnemonic, setModel, setPressedIcon, setRolloverEnabled, setRolloverIcon, setRolloverSelectedIcon, setSelected, setSelectedIcon, setText, setUI, setVerticalAlignment, setVerticalTextPosition`

Methods inherited from class javax.swing.JComponent

`addAncestorListener, addNotify, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInsets, getInsets, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintChildren, paintComponent, paintImmediately, paintImmediately, processComponentKeyEvent, processFocusEvent, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setFont, setForeground, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVisible, unregisterKeyboardAction, update`

Methods inherited from class java.awt.Container

`add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree`

Methods inherited from class java.awt.Component

`action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hide, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### ToolBarButton

    public ToolBarButton()

  Default constructor.

### ToolBarButton

    public ToolBarButton(javax.swing.Icon icon)

  Creates a button with an icon only.
  Parameters:
    `icon` - The Icon object to paint on the button.

### ToolBarButton

    public ToolBarButton(java.lang.String text)

  Creates a button with a text label only.
  Parameters:
    `text` - The text for the label.

### ToolBarButton

    public ToolBarButton(java.lang.String text,
                         javax.swing.Icon icon)

  Creates a button with a text label and an icon.
  Parameters:
    `text` - The label text.
    `icon` - The icon.

Method Detail

### mouseEntered

    public void mouseEntered(java.awt.event.MouseEvent evt)

  Paints a raised border when the mouse passes over the button.
  Specified by:
    mouseEntered in interface java.awt.event.MouseListener
  Parameters:
    `evt` - The MouseEvent which triggered this handler.

### mouseExited

    public void mouseExited(java.awt.event.MouseEvent evt)

  Paints an empty border when the mouse leaves the button area.
  Specified by:
    mouseExited in interface java.awt.event.MouseListener
  Parameters:
    `evt` - The MouseEvent which triggered this handler.

### mousePressed

    public void mousePressed(java.awt.event.MouseEvent evt)

  Paints a loweredBevelBorder when the mouse is pressed. We have to have this since the default JButton behaviour is to simply make its background color darker.
  Specified by:
    mousePressed in interface java.awt.event.MouseListener

### mouseReleased

    public void mouseReleased(java.awt.event.MouseEvent evt)

  Paints the border raised again when the mouse is released.
  Specified by:
    mouseReleased in interface java.awt.event.MouseListener

### mouseClicked

    public void mouseClicked(java.awt.event.MouseEvent evt)

  Specified by:
    mouseClicked in interface java.awt.event.MouseListener