bibliothek.gui.dock.themes.basic.action.buttons
Class MiniButton<M extends BasicButtonModel>

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by bibliothek.gui.dock.themes.basic.action.buttons.MiniButton<M>
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable
Direct Known Subclasses:
BasicMiniButton, DropDownMiniButton

public class MiniButton<M extends BasicButtonModel>
extends javax.swing.JComponent

A small Component used as view of a BasicButtonModel. A MiniButton just changes its border when the states of its model changes.

Author:
Benjamin Sigg
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  M model
          the model storing the properties for this button
private  javax.swing.border.Border mouseOverBorder
          the border if the mouse is over this button
private  javax.swing.border.Border mousePressedBorder
          the border if the mouse is pressed
private  javax.swing.border.Border normalBorder
          the standard-border of this button
 
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
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
MiniButton(M model)
          Creates a new button
 
Method Summary
protected  java.awt.Insets getMaxBorderInsets()
          Gets the maximal insets of this button
 M getModel()
          Gets the model which is used to store the properties of this button.
 javax.swing.border.Border getMouseOverBorder()
          Gets the border which is used when the mouse is over this button, but not pressed.
 javax.swing.border.Border getMousePressedBorder()
          Gets the border which is shown when the mouse is pressed and over this button.
 javax.swing.border.Border getNormalBorder()
          Gets the default-border.
 java.awt.Dimension getPreferredSize()
           
 void paint(java.awt.Graphics g)
           
protected  void paintIcon(javax.swing.Icon icon, java.awt.Graphics g)
          Paints the icon in the center of this button.
protected  void setModel(M model)
          Sets the model of this button.
 void setMouseOverBorder(javax.swing.border.Border mouseOverBorder)
          Sets the border which is shown when the mouse is over this button, but not pressed.
 void setMousePressedBorder(javax.swing.border.Border mousePressedBorder)
          Sets the border which is shown when the mouse is pressed and over this button.
 void setNormalBorder(javax.swing.border.Border normalBorder)
          Sets the default-border.
protected  void updateBorder()
          Changes the current border.
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

normalBorder

private javax.swing.border.Border normalBorder
the standard-border of this button


mouseOverBorder

private javax.swing.border.Border mouseOverBorder
the border if the mouse is over this button


mousePressedBorder

private javax.swing.border.Border mousePressedBorder
the border if the mouse is pressed


model

private M extends BasicButtonModel model
the model storing the properties for this button

Constructor Detail

MiniButton

public MiniButton(M model)
Creates a new button

Parameters:
model - the model for this button
Method Detail

setModel

protected void setModel(M model)
Sets the model of this button. The model contains all properties which are necessary to show this button.

Parameters:
model - the model

getModel

public M getModel()
Gets the model which is used to store the properties of this button.

Returns:
the model

getMouseOverBorder

public javax.swing.border.Border getMouseOverBorder()
Gets the border which is used when the mouse is over this button, but not pressed.

Returns:
the border, may be null

setMouseOverBorder

public void setMouseOverBorder(javax.swing.border.Border mouseOverBorder)
Sets the border which is shown when the mouse is over this button, but not pressed.

Parameters:
mouseOverBorder - the border, can be null

getMousePressedBorder

public javax.swing.border.Border getMousePressedBorder()
Gets the border which is shown when the mouse is pressed and over this button.

Returns:
the border, may be null
See Also:
setMousePressedBorder(Border)

setMousePressedBorder

public void setMousePressedBorder(javax.swing.border.Border mousePressedBorder)
Sets the border which is shown when the mouse is pressed and over this button. The border is also shown if this button is selected.

Parameters:
mousePressedBorder - the border, can be null

getNormalBorder

public javax.swing.border.Border getNormalBorder()
Gets the default-border.

Returns:
the border, may be null

setNormalBorder

public void setNormalBorder(javax.swing.border.Border normalBorder)
Sets the default-border. The border is always shown when nothing special happens.

Parameters:
normalBorder - the border, can be null

paint

public void paint(java.awt.Graphics g)
Overrides:
paint in class javax.swing.JComponent

paintIcon

protected void paintIcon(javax.swing.Icon icon,
                         java.awt.Graphics g)
Paints the icon in the center of this button.

Parameters:
icon - the icon to paint
g - the graphics context

getPreferredSize

public java.awt.Dimension getPreferredSize()
Overrides:
getPreferredSize in class javax.swing.JComponent

getMaxBorderInsets

protected java.awt.Insets getMaxBorderInsets()
Gets the maximal insets of this button

Returns:
the insets

updateBorder

protected void updateBorder()
Changes the current border. Uses various states to determine the correct border.