public class DockView extends JPanel implements DockDropReceiver, SingleDockableContainer
A Dockview is the component responsible for displaying a single user component inside a DockingPanel.
The DockView contains a DockViewTitleBar, used as a header to display useful information and optional controls (close/maximize/hide/float)
UI : The user component is displayed with decorations provided by a
DockViewUI
delegate.
Here is an example (VLDocking 1.1 "shadow" style) :
Note : multiple user-components are not displayable by the dockview :
the default implementation of TabbedDockableContainer is the DockTabbedPane
.
DockViewTitleBar
,
Serialized FormJPanel.AccessibleJPanel
JComponent.AccessibleJComponent
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Modifier and Type | Field and Description |
---|---|
protected DockingDesktop |
desktop
the desktop managing this view
|
protected Dockable |
dockable
the dockable managed by this view
|
protected Shape |
lastDropGeneralPath
remember the last drop position to cache the shape used for showing the drop position
|
protected Shape |
lastDropShape
remember the last drop position to cache the shape used for showing the drop position
|
protected DockViewTitleBar |
title |
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
DockView()
Constructs an empty DockView.
|
DockView(Dockable dockable)
Constructs a new DockView for the given dockable.
|
DockView(Dockable dockable,
boolean showTitle)
Constructs a new DockView for the given dockable.
|
Modifier and Type | Method and Description |
---|---|
protected GeneralPath |
buildPathForTab(Rectangle bounds)
Create a path used to display the drag shape of a tab container
|
Dockable |
getDockable()
Returns the contained component
Returns the dockable this container is displaying
|
DockViewTitleBar |
getTitleBar()
Returns (or creates) the title bar of this dockview
|
String |
getUIClassID() |
void |
installDocking(DockingDesktop desktop)
Invoked once after creation, in order to let this component register
its DockableDragSources to the DockingDesktop, and have a reference of this
Desktop.
|
void |
processDockableDrag(DockDragEvent event)
The component is notified of a drag operation.
|
void |
processDockableDrop(DockDropEvent event)
The component is requested to perform a docking drop action.
|
protected void |
scanDrop(DockEvent event,
boolean drop) |
void |
setDockable(Dockable dockable)
Adds the dockable's component to this DockView.
|
String |
toString() |
void |
uninstallDocking(DockingDesktop desktop)
Called once, when the dockablecontainer is no longer used by the desktop,
in order to releases resources and listeners taken on
installDocking() |
getAccessibleContext, getUI, paramString, setUI, updateUI
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, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, 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
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, transferFocusDownCycle, validate, validateTree
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, transferFocus, transferFocusBackward, transferFocusUpCycle
protected DockViewTitleBar title
protected DockingDesktop desktop
protected Dockable dockable
protected Shape lastDropShape
protected Shape lastDropGeneralPath
public DockView()
A setDockable(Dockable)
call is requiered for this constructor to be usefull.
public DockView(Dockable dockable)
dockable
- the dockable to showpublic DockView(Dockable dockable, boolean showTitle)
dockable
- the dockable to showpublic Dockable getDockable()
getDockable
in interface SingleDockableContainer
public void setDockable(Dockable dockable)
dockable
- the user dockablepublic String getUIClassID()
getUIClassID
in class JPanel
public void processDockableDrag(DockDragEvent event)
This method is used to give a visual clue of dropping capability (for example, mouse cursor change, painting a shadow of future component position)
These clues are transmitted via the event's methods..
processDockableDrag
in interface DockDropReceiver
DockDragEvent
,
DockDropEvent
public void processDockableDrop(DockDropEvent event)
This method is called only after a successful DockDropReceiver.processDockableDrag(DockDragEvent)
The parameters provided for the drop are the same than those of the last drag (in order to avoid an allowed last drag followed by a rejected drop).
On event acceptation ( DockDropEvent.acceptDrop()
, the source component
will be removed from its container, so the DropReceiver must add the
component to its own hierarchy otherwise
the component would be lost (from a user's point of view).
Please note that a drag into a DockView can also lead to create a DockTabbedPane.
processDockableDrop
in interface DockDropReceiver
protected void scanDrop(DockEvent event, boolean drop)
protected GeneralPath buildPathForTab(Rectangle bounds)
public void installDocking(DockingDesktop desktop)
basic implementation use a single DragSource, and thus calls desk.installDockableDragSource(dragSource).
installDocking
in interface DockableContainer
public void uninstallDocking(DockingDesktop desktop)
installDocking().
uninstallDocking
in interface DockableContainer
public DockViewTitleBar getTitleBar()
© Copyright 2004-2013 Lilian Chamontin. All Rights Reserved.