com.vlsolutions.swing.docking
Class DockableStoreButton

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 com.vlsolutions.swing.docking.DockableStoreButton
All Implemented Interfaces:
DockableDragSource, DockDropReceiver, java.awt.image.ImageObserver, java.awt.ItemSelectable, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.SwingConstants

public class DockableStoreButton
extends javax.swing.JButton
implements DockDropReceiver, DockableDragSource

A Button that can be used to store a dockable (for example to allow moving a dockable between two workspaces).

The button is able to display the Icon, text and toolip of a dockable key, and can be used as a drag source (to initiate a drop into a desktop).

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JButton
javax.swing.JButton.AccessibleJButton
 
Nested classes/interfaces inherited from class javax.swing.AbstractButton
javax.swing.AbstractButton.AccessibleAbstractButton, javax.swing.AbstractButton.ButtonChangeListener
 
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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
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
DockableStoreButton()
           
DockableStoreButton(java.lang.String emptyText)
           
 
Method Summary
 void endDragComponent(boolean dropped)
          notifies the source when the drag operation has ended (by a drop or cancelled)
 Dockable getDockable()
          Return the dockable currently stored (may be null)
 java.awt.Container getDockableContainer()
          returns the DockableContainer responsible for displaying the associated dockable
 javax.swing.Icon getEmptyIcon()
          Returns the Icon used with this button when no dockable is selected
 java.lang.String getEmptyText()
          Returns the text used for this button when no dockable is stored
 java.lang.String getEmptyTooltip()
          Returns the text used as tooltip for this button when no dockable is stored
 java.lang.String getFullText()
          Returns the text used for this button when a dockable is stored
 java.lang.String getFullTooltip()
          Returns the text used for as tooltip this button when a dockable is stored
 void processDockableDrag(DockDragEvent event)
          when a dockable is dragged above this button, the button stores it as its new target dockable.
 void processDockableDrop(DockDropEvent event)
          Rejects the drop as this action isn't possible on this component
 void setDockable(Dockable dockable)
           
 void setEmptyIcon(javax.swing.Icon emptyIcon)
          Updates the icon used for this button when no dockable is stored
 void setEmptyText(java.lang.String emptyText)
          updates the text used for this button when no dockable is stored
 void setEmptyTooltip(java.lang.String emptyTooltip)
          Updates the text used as tooltip for this button when no dockable is stored
 void setFullText(java.lang.String fullText)
          Returns the text used for this button when a dockable is stored
 void setFullTooltip(java.lang.String fullTooltip)
          Updates the text used as tooltip for this button when no dockable is stored.
 boolean startDragComponent(java.awt.Point p)
          Notifies this source that a drag operation has begun.
 void updateButtonText()
          Override this method if you want to change the display (text and icon) of this button and the default settings don't suit your needs.
 
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, 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, setAction, setActionCommand, setBorderPainted, setContentAreaFilled, setDisabledIcon, setDisabledSelectedIcon, setDisplayedMnemonicIndex, setEnabled, setFocusPainted, setHideActionText, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabel, setLayout, setMargin, setMnemonic, setMnemonic, setModel, 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, 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, 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, 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, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DockableStoreButton

public DockableStoreButton(java.lang.String emptyText)

DockableStoreButton

public DockableStoreButton()
Method Detail

processDockableDrag

public void processDockableDrag(DockDragEvent event)
when a dockable is dragged above this button, the button stores it as its new target dockable.

Specified by:
processDockableDrag in interface DockDropReceiver
See Also:
getDockable()

processDockableDrop

public void processDockableDrop(DockDropEvent event)
Rejects the drop as this action isn't possible on this component

Specified by:
processDockableDrop in interface DockDropReceiver

setDockable

public void setDockable(Dockable dockable)

updateButtonText

public void updateButtonText()
Override this method if you want to change the display (text and icon) of this button and the default settings don't suit your needs.


startDragComponent

public boolean startDragComponent(java.awt.Point p)
Description copied from interface: DockableDragSource
Notifies this source that a drag operation has begun.

The source may reject the drag according to internal conditions (in that case this method shall return false) or to wrong mouse position .

Specified by:
startDragComponent in interface DockableDragSource
Returns:
true if drag operation is accepted (i.e the zone pointed by p refers to a draggable component), false otherwise.

getDockable

public Dockable getDockable()
Return the dockable currently stored (may be null)

Specified by:
getDockable in interface DockableDragSource

getDockableContainer

public java.awt.Container getDockableContainer()
Description copied from interface: DockableDragSource
returns the DockableContainer responsible for displaying the associated dockable

Specified by:
getDockableContainer in interface DockableDragSource

endDragComponent

public void endDragComponent(boolean dropped)
Description copied from interface: DockableDragSource
notifies the source when the drag operation has ended (by a drop or cancelled)

Specified by:
endDragComponent in interface DockableDragSource

getEmptyText

public java.lang.String getEmptyText()
Returns the text used for this button when no dockable is stored


setEmptyText

public void setEmptyText(java.lang.String emptyText)
updates the text used for this button when no dockable is stored


getEmptyTooltip

public java.lang.String getEmptyTooltip()
Returns the text used as tooltip for this button when no dockable is stored


setEmptyTooltip

public void setEmptyTooltip(java.lang.String emptyTooltip)
Updates the text used as tooltip for this button when no dockable is stored


getEmptyIcon

public javax.swing.Icon getEmptyIcon()
Returns the Icon used with this button when no dockable is selected


setEmptyIcon

public void setEmptyIcon(javax.swing.Icon emptyIcon)
Updates the icon used for this button when no dockable is stored


getFullText

public java.lang.String getFullText()
Returns the text used for this button when a dockable is stored


setFullText

public void setFullText(java.lang.String fullText)
Returns the text used for this button when a dockable is stored


getFullTooltip

public java.lang.String getFullTooltip()
Returns the text used for as tooltip this button when a dockable is stored


setFullTooltip

public void setFullTooltip(java.lang.String fullTooltip)
Updates the text used as tooltip for this button when no dockable is stored. The special value '&1' will be replaced by the name of this dockable.

For example "&1 stored" could be replaced by "MyDockable stored"



© Copyright 2004-2007 VLSolutions. All Rights Reserved.
www.vlsolutions.com : Java Components - Smart Client Applications