com.vlsolutions.swing.docking
Class SplitContainer

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JSplitPane
                  extended by com.vlsolutions.swing.docking.SplitContainer
All Implemented Interfaces:
DockDropReceiver, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class SplitContainer
extends javax.swing.JSplitPane
implements DockDropReceiver

A Specialized JSplitPane which accepts drag and drop of DockableContainer.

The split container should be used only by the DockingDesktop.

It is a SplitPane with bug workarounds and a custom UI (in fact : no UI painting at all, by default).

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JSplitPane
javax.swing.JSplitPane.AccessibleJSplitPane
 
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.JSplitPane
BOTTOM, CONTINUOUS_LAYOUT_PROPERTY, continuousLayout, DIVIDER, DIVIDER_LOCATION_PROPERTY, DIVIDER_SIZE_PROPERTY, dividerSize, HORIZONTAL_SPLIT, LAST_DIVIDER_LOCATION_PROPERTY, lastDividerLocation, LEFT, leftComponent, ONE_TOUCH_EXPANDABLE_PROPERTY, oneTouchExpandable, orientation, ORIENTATION_PROPERTY, RESIZE_WEIGHT_PROPERTY, RIGHT, rightComponent, TOP, VERTICAL_SPLIT
 
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
SplitContainer()
          Constructs a vertically splitted SplitContainer
SplitContainer(int orientation)
          Constructs a SplitContainer with the given JSplitPane orientation.
 
Method Summary
 java.lang.String getTabName()
          Returns a suitable name for when this container is the main child of a Tab (TabbedDockableContainer)
 java.lang.String getUIClassID()
          Overriden for custom UI delegation
 void paint(java.awt.Graphics g)
          overriden for a bug workaround reason
 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.
 void resetToPreferredSizes()
          Resest recursively the left and right components to their preferred size if possible.
 void setDividerLocation(double proportionalLocation)
          Overriden for a bug workaround
 void setDividerLocation(int location)
           
 void split(java.awt.Component newComp, java.awt.Component child, DockingConstants.Split position)
          Replaces the child component by a sub-split pane.
 java.lang.String toString()
          Returns a readable String representing this SplitContainer
 
Methods inherited from class javax.swing.JSplitPane
addImpl, getAccessibleContext, getBottomComponent, getDividerLocation, getDividerSize, getLastDividerLocation, getLeftComponent, getMaximumDividerLocation, getMinimumDividerLocation, getOrientation, getResizeWeight, getRightComponent, getTopComponent, getUI, isContinuousLayout, isOneTouchExpandable, isValidateRoot, paintChildren, paramString, remove, remove, removeAll, setBottomComponent, setContinuousLayout, setDividerSize, setLastDividerLocation, setLeftComponent, setOneTouchExpandable, setOrientation, setResizeWeight, setRightComponent, setTopComponent, setUI, updateUI
 
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, paintBorder, 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
 
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, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, transferFocus, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SplitContainer

public SplitContainer()
Constructs a vertically splitted SplitContainer


SplitContainer

public SplitContainer(int orientation)
Constructs a SplitContainer with the given JSplitPane orientation.

Method Detail

getUIClassID

public java.lang.String getUIClassID()
Overriden for custom UI delegation

Overrides:
getUIClassID in class javax.swing.JSplitPane

toString

public java.lang.String toString()
Returns a readable String representing this SplitContainer

Overrides:
toString in class java.awt.Component

getTabName

public java.lang.String getTabName()
Returns a suitable name for when this container is the main child of a Tab (TabbedDockableContainer)


processDockableDrag

public void processDockableDrag(DockDragEvent event)
The component is notified of a drag operation.

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.

Specified by:
processDockableDrag in interface DockDropReceiver
See Also:
DockDragEvent, DockDropEvent

processDockableDrop

public void processDockableDrop(DockDropEvent event)
The component is requested to perform a docking drop action.

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).

Specified by:
processDockableDrop in interface DockDropReceiver

setDividerLocation

public void setDividerLocation(double proportionalLocation)
Overriden for a bug workaround

Overrides:
setDividerLocation in class javax.swing.JSplitPane

setDividerLocation

public void setDividerLocation(int location)
Overrides:
setDividerLocation in class javax.swing.JSplitPane

paint

public void paint(java.awt.Graphics g)
overriden for a bug workaround reason

Overrides:
paint in class javax.swing.JComponent

resetToPreferredSizes

public void resetToPreferredSizes()
Resest recursively the left and right components to their preferred size if possible. (same contract as JSplitPane's).

If contained components are SplitContainers, their are also reset to their preferredSize.

Overrides:
resetToPreferredSizes in class javax.swing.JSplitPane

split

public void split(java.awt.Component newComp,
                  java.awt.Component child,
                  DockingConstants.Split position)
Replaces the child component by a sub-split pane.

Parameters:
child - one or the two components of this split pane
newComp - the new component to add
position - where to put comp / child (i.e if SPLIT_TOP, a vertical splitpane will be created and comp will be on top of it (and child at bottom).


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