com.levigo.util.swing.action
Class NonUglyActionJToggleButton

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.JToggleButton
                      extended by com.levigo.util.swing.action.NonUglyActionJToggleButton
All Implemented Interfaces:
GraphicsConfigurationValidateable, ImageObserver, ItemSelectable, MenuContainer, Serializable, Accessible, SwingConstants
Direct Known Subclasses:
DropDownToggleButton, PopupJToggleButton, PopupMenuButton

public class NonUglyActionJToggleButton
extends JToggleButton
implements GraphicsConfigurationValidateable

A styleable button. Four button styles are supported:

All other settings like rollover behavior etc. are preset for this button and can (and shall!) not be specified when creating an instance of this button.

The default style is WITHOUT_BORDER which obviously paints a button without a border.

The WITH_BORDER and TOOLBAR_APPLICATION styles use a fancy SlickBevelBorder, which is always visible for the WITH_BORDER button and visible only on rollover for the TOOLBAR_APPLICATION style button.

The TOOLBAR_MAINOFFICE style button uses a boring EtchedBorder and has no rollover effect.

Version:
CVS $Revision$ $Date$
Author:
Daniela Gehle
See Also:
Serialized Form

Nested Class Summary
protected  class NonUglyActionJToggleButton.AccessibleNonUglyActionJToggleButton
          This class implements accessibility support for the NonUglyActionJToggleButton class.
 
Nested classes/interfaces inherited from class javax.swing.JToggleButton
JToggleButton.AccessibleJToggleButton, JToggleButton.ToggleButtonModel
 
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  boolean isValidateGraphicsConfigurationEnabled
           
static int TOOLBAR_APPLICATION
           
static int TOOLBAR_MAINOFFICE
           
static int WITH_BORDER
           
static int WITHOUT_BORDER
           
 
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
NonUglyActionJToggleButton(Action action)
          Constructor for the button.
NonUglyActionJToggleButton(Action action, int style)
          Constructor for the most beautiful button in the world.
 
Method Summary
protected  void configurePropertiesFromAction(Action a)
          This event adds a functionality for the action parameter "checked"
 AccessibleContext getAccessibleContext()
          Gets the AccessibleContext associated with this AccessibleNonUglyActionJToggleButton.
 GraphicsConfiguration getGraphicsConfiguration()
           
 void initialize(int style)
          Overrides the button initialisation to get the styling we want.
 boolean isValidateGraphicsConfigurationEnabled()
          Returns the current state of this behavior.
 void setBorder(Border border)
           
 void setRolloverEnabled(boolean b)
           
 void setValidateGraphicsConfigurationEnabled(boolean enabled)
          Changes the current state of this behavior.
 
Methods inherited from class javax.swing.JToggleButton
getUIClassID, paramString, updateUI
 
Methods inherited from class javax.swing.AbstractButton
actionPropertyChanged, addActionListener, addChangeListener, addImpl, addItemListener, checkHorizontalKey, checkVerticalKey, createActionListener, createActionPropertyChangeListener, createChangeListener, createItemListener, doClick, 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, isFocusPainted, isRolloverEnabled, isSelected, paintBorder, removeActionListener, removeChangeListener, removeItemListener, removeNotify, setAction, setActionCommand, setBorderPainted, setContentAreaFilled, setDisabledIcon, setDisabledSelectedIcon, setDisplayedMnemonicIndex, setEnabled, setFocusPainted, setHideActionText, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabel, setLayout, setMargin, setMnemonic, setMnemonic, setModel, setMultiClickThreshhold, setPressedIcon, 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, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, 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, 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

WITHOUT_BORDER

public static final int WITHOUT_BORDER
See Also:
Constant Field Values

WITH_BORDER

public static final int WITH_BORDER
See Also:
Constant Field Values

TOOLBAR_MAINOFFICE

public static final int TOOLBAR_MAINOFFICE
See Also:
Constant Field Values

TOOLBAR_APPLICATION

public static final int TOOLBAR_APPLICATION
See Also:
Constant Field Values

isValidateGraphicsConfigurationEnabled

protected boolean isValidateGraphicsConfigurationEnabled
Constructor Detail

NonUglyActionJToggleButton

@CallOnEDT
public NonUglyActionJToggleButton(Action action)
Constructor for the button.


NonUglyActionJToggleButton

@CallOnEDT
public NonUglyActionJToggleButton(Action action,
                                            int style)
Constructor for the most beautiful button in the world.

Method Detail

initialize

@CallOnEDT
public void initialize(int style)
Overrides the button initialisation to get the styling we want.


setBorder

@CallOnEDT
public void setBorder(Border border)
Overrides:
setBorder in class JComponent

setRolloverEnabled

@CallOnEDT
public void setRolloverEnabled(boolean b)
Overrides:
setRolloverEnabled in class AbstractButton

configurePropertiesFromAction

protected void configurePropertiesFromAction(Action a)
This event adds a functionality for the action parameter "checked"

Overrides:
configurePropertiesFromAction in class AbstractButton
See Also:
AbstractButton.configurePropertiesFromAction(Action)

getGraphicsConfiguration

@CallOnEDT
public GraphicsConfiguration getGraphicsConfiguration()
Overrides:
getGraphicsConfiguration in class Component

isValidateGraphicsConfigurationEnabled

@CallOnEDT
public boolean isValidateGraphicsConfigurationEnabled()
Description copied from interface: GraphicsConfigurationValidateable
Returns the current state of this behavior. If enabled this component update its current graphics configuration whenever it is demanded by the cost of some performance penalty. Otherwise the may be outdated graphics configuration given by the component hierarchy is used.

Specified by:
isValidateGraphicsConfigurationEnabled in interface GraphicsConfigurationValidateable
Returns:
current state
See Also:
GraphicsConfigurationValidateable.isValidateGraphicsConfigurationEnabled()

setValidateGraphicsConfigurationEnabled

@CallOnEDT
public void setValidateGraphicsConfigurationEnabled(boolean enabled)
Description copied from interface: GraphicsConfigurationValidateable
Changes the current state of this behavior. If enabled this component update its current graphics configuration whenever it is demanded by the cost of some performance penalty. Otherwise the may be outdated graphics configuration given by the component hierarchy is used.

Specified by:
setValidateGraphicsConfigurationEnabled in interface GraphicsConfigurationValidateable
Parameters:
enabled - new enabled state
See Also:
GraphicsConfigurationValidateable.setValidateGraphicsConfigurationEnabled(boolean)

getAccessibleContext

@CallableOffEDT
public AccessibleContext getAccessibleContext()
Gets the AccessibleContext associated with this AccessibleNonUglyActionJToggleButton.

Specified by:
getAccessibleContext in interface Accessible
Overrides:
getAccessibleContext in class JToggleButton


Copyright © 1995-2020 levigo holding gmbh. All Rights Reserved.