Sky View Café - Java

org.shetline.gui
Class ImageButton

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.AbstractButton
                  extended by javax.swing.JButton
                      extended by org.shetline.gui.AutoRepeatButton
                          extended by org.shetline.gui.ImageButton
All Implemented Interfaces:
ImageObserver, ItemSelectable, MenuContainer, Serializable, Accessible, SwingConstants
Direct Known Subclasses:
MiniCalendar.ArrowButton

public class ImageButton
extends AutoRepeatButton

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.shetline.gui.AutoRepeatButton
AutoRepeatButton.ModifierAwareButtonModel, AutoRepeatButton.Repeater
 
Nested classes/interfaces inherited from class javax.swing.JButton
JButton.AccessibleJButton
 
Nested classes/interfaces inherited from class javax.swing.AbstractButton
AbstractButton.AccessibleAbstractButton, AbstractButton.ButtonChangeListener
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  Image disabledImage
           
protected  boolean disableFocusPainting
           
protected  Image enabledImage
           
protected static Pattern FILE_WILDCARD
           
protected  Image pushedImage
           
protected  Image savedDisabled
           
protected  Image savedEnabled
           
protected  Image savedPushed
           
 
Fields inherited from class org.shetline.gui.AutoRepeatButton
checkModelClass, currentDelay, DEFAULT_INITIAL_DELAY, DEFAULT_REPEAT_DELAY, eventTime, hasRepeated, initialDelay, mousePressed, REPEAT_KILL_DELAY, repeatDelay, repeater, repeating, savedModifiers
 
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
 
Fields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ImageButton()
           
ImageButton(Image enabledImage)
           
ImageButton(Image enabledImage, Image pushedImage)
           
ImageButton(Image enabledImage, Image pushedImage, Image disabledImage)
           
ImageButton(String imagePath)
           
ImageButton(String imagePath, Class resOwner)
           
ImageButton(String enabledImagePath, String pushedImagePath)
           
ImageButton(String enabledImagePath, String pushedImagePath, Class resOwner)
           
ImageButton(String enabledImagePath, String pushedImagePath, String disabledImagePath)
           
ImageButton(String enabledImagePath, String pushedImagePath, String disabledImagePath, Class resOwner)
           
 
Method Summary
 void colorizeImages(Color targetColor, Color replacementColor)
           
 void decolorizeImages()
           
static String fillInWildcard(String filePath, String substitute)
          This function takes a file path in the form path_*.file-extension or path_**.file-extension and returns a path where the "*" or "**" has been replaced by substitute.
 int getEmptyBorderSize()
           
 boolean isFocusPainted()
           
protected  void paintComponent(Graphics g)
           
protected  void paintFocus(Graphics g)
           
 void setEmptyBorderSize(int size)
           
 void setImages(Image enabledImage, Image pushedImage, Image disabledImage)
           
protected  void updateIcons()
           
 
Methods inherited from class org.shetline.gui.AutoRepeatButton
AutoRepeatButtonX, doClick, doClick, doClickAction, doClickAction, getInitialDelay, getRepeatDelay, isRepeating, processMouseEvent, readyForRepeat, readyForRepeatAux, setEnabled, setInitialDelay, setModel, setRepeatDelay, setRepeating
 
Methods inherited from class javax.swing.JButton
getAccessibleContext, getUIClassID, isDefaultButton, isDefaultCapable, paramString, removeNotify, setDefaultCapable, updateUI
 
Methods inherited from class javax.swing.AbstractButton
actionPropertyChanged, addActionListener, addChangeListener, addImpl, addItemListener, checkHorizontalKey, checkVerticalKey, configurePropertiesFromAction, createActionListener, createActionPropertyChangeListener, createChangeListener, createItemListener, doClick, fireActionPerformed, fireItemStateChanged, fireStateChanged, getAction, getActionCommand, getActionListeners, getChangeListeners, getDisabledIcon, getDisabledSelectedIcon, getDisplayedMnemonicIndex, getHideActionText, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getItemListeners, getLabel, getMargin, getMnemonic, getModel, getMultiClickThreshhold, getPressedIcon, getRolloverIcon, getRolloverSelectedIcon, getSelectedIcon, getSelectedObjects, getText, getUI, getVerticalAlignment, getVerticalTextPosition, imageUpdate, init, isBorderPainted, isContentAreaFilled, isRolloverEnabled, isSelected, paintBorder, removeActionListener, removeChangeListener, removeItemListener, setAction, setActionCommand, setBorderPainted, setContentAreaFilled, setDisabledIcon, setDisabledSelectedIcon, setDisplayedMnemonicIndex, setFocusPainted, setHideActionText, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabel, setLayout, setMargin, setMnemonic, setMnemonic, setMultiClickThreshhold, setPressedIcon, setRolloverEnabled, setRolloverIcon, setRolloverSelectedIcon, setSelected, setSelectedIcon, setText, setUI, setVerticalAlignment, setVerticalTextPosition
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, 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, 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, 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

disableFocusPainting

protected boolean disableFocusPainting

enabledImage

protected Image enabledImage

savedEnabled

protected Image savedEnabled

pushedImage

protected Image pushedImage

savedPushed

protected Image savedPushed

disabledImage

protected Image disabledImage

savedDisabled

protected Image savedDisabled

FILE_WILDCARD

protected static final Pattern FILE_WILDCARD
Constructor Detail

ImageButton

public ImageButton()

ImageButton

public ImageButton(String imagePath)

ImageButton

public ImageButton(String imagePath,
                   Class resOwner)

ImageButton

public ImageButton(String enabledImagePath,
                   String pushedImagePath)

ImageButton

public ImageButton(String enabledImagePath,
                   String pushedImagePath,
                   String disabledImagePath)

ImageButton

public ImageButton(String enabledImagePath,
                   String pushedImagePath,
                   Class resOwner)

ImageButton

public ImageButton(String enabledImagePath,
                   String pushedImagePath,
                   String disabledImagePath,
                   Class resOwner)

ImageButton

public ImageButton(Image enabledImage)

ImageButton

public ImageButton(Image enabledImage,
                   Image pushedImage)

ImageButton

public ImageButton(Image enabledImage,
                   Image pushedImage,
                   Image disabledImage)
Method Detail

updateIcons

protected void updateIcons()

setImages

public void setImages(Image enabledImage,
                      Image pushedImage,
                      Image disabledImage)

colorizeImages

public void colorizeImages(Color targetColor,
                           Color replacementColor)

decolorizeImages

public void decolorizeImages()

fillInWildcard

public static String fillInWildcard(String filePath,
                                    String substitute)

This function takes a file path in the form path_*.file-extension or path_**.file-extension and returns a path where the "*" or "**" has been replaced by substitute. If the double asterisk form (**) is used, and substitute is the letter "d", then null is returned.

The main use for this function is to take a wildcard path like "button-image_*.png" and return an actual path to an enabled, a pressed, and a disabled version of a button image, designated by the substituted letters "e", "p", and "d", The double asterisk for is when you want the disabled form to be ignored so that a disabled image is automatically generated from the enabled image.

Parameters:
filePath - wildcard file path
substitute - replacement for * or ** wildcard.
Returns:
a path with the wildcard filled in, or null.

getEmptyBorderSize

public int getEmptyBorderSize()

setEmptyBorderSize

public void setEmptyBorderSize(int size)

isFocusPainted

public boolean isFocusPainted()
Overrides:
isFocusPainted in class AbstractButton

paintComponent

protected void paintComponent(Graphics g)
Overrides:
paintComponent in class JComponent

paintFocus

protected void paintFocus(Graphics g)

Sky View Café - Java