Package VASSAL.tools
Class ComponentSplitter.SplitPane
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JSplitPane
VASSAL.tools.ComponentSplitter.SplitPane
- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable,Accessible
- Enclosing class:
- ComponentSplitter
public static class ComponentSplitter.SplitPane extends JSplitPane
Contains methods to automatically show/hide one of its components (the "hideable" component) while the other (the
"base" component) remains always visible. Can optionally change the size of its top level ancestorExtension when
the component is shown/hidden. The hideable component is initially hidden
- See Also:
- Serialized Form
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JSplitPane
JSplitPane.AccessibleJSplitPaneNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
Fields Modifier and Type Field Description static intHIDE_BOTTOMstatic intHIDE_LEFTstatic intHIDE_RIGHTstatic intHIDE_TOPFields 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_SPLITFields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
-
Method Summary
Modifier and Type Method Description ComponentgetBaseComponent()protected intgetBaseComponentSize()ComponentgetHideableComponent()protected intgetHideableComponentSize()protected intgetPreferredBaseComponentSize()protected intgetPreferredDividerLocation()DimensiongetPreferredSize()If the hideable component is not visible, use the base component's preferred sizeprotected DimensiongetTransverseSize()Return the preferred size of the top-level container in the direction transverse to this SplitPane's orientation.ComponentSplitter.SplitPanegetTransverseSplit()Return the first SplitPane ancestor with a different orientation from this SplitPanevoidhideComponent()Hide the hideable componentprotected voidhideTransverseComponent(ComponentSplitter.SplitPane split)Set the divider location and/or the top-level ancestor size to the preferred transverse size.protected voidresizeBaseComponent()Set the base component size to be large enough to accomodate all descendant SplitPane's showing componentsvoidshowComponent()Show the hideable componentprotected voidshowTransverseComponent(ComponentSplitter.SplitPane split)Set the divider location and/or the top-level ancestor size to be large enough to display the argumentComponentSplitter.SplitPane's hideable componentvoidtoggleVisibility()Toggle the visibility of the hideable componentMethods inherited from class javax.swing.JSplitPane
addImpl, getAccessibleContext, getBottomComponent, getDividerLocation, getDividerSize, getLastDividerLocation, getLeftComponent, getMaximumDividerLocation, getMinimumDividerLocation, getOrientation, getResizeWeight, getRightComponent, getTopComponent, getUI, getUIClassID, isContinuousLayout, isOneTouchExpandable, isValidateRoot, paintChildren, paramString, remove, remove, removeAll, resetToPreferredSizes, setBottomComponent, setContinuousLayout, setDividerLocation, setDividerLocation, setDividerSize, setLastDividerLocation, setLeftComponent, setOneTouchExpandable, setOrientation, setResizeWeight, setRightComponent, setTopComponent, setUI, updateUIMethods 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, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, paint, 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, updateMethods 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, validateTreeMethods 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
HIDE_TOP
public static final int HIDE_TOP- See Also:
- Constant Field Values
-
HIDE_BOTTOM
public static final int HIDE_BOTTOM- See Also:
- Constant Field Values
-
HIDE_LEFT
public static final int HIDE_LEFT- See Also:
- Constant Field Values
-
HIDE_RIGHT
public static final int HIDE_RIGHT- See Also:
- Constant Field Values
-
-
Constructor Details
-
SplitPane
public SplitPane(Component hideableComponent, Component baseComponent, int hideablePosition, boolean resizeOnVisibilityChange)Initialize the SplitPane with the two component- Parameters:
hideableComponent-baseComponent-hideablePosition- one ofHIDE_TOP,HIDE_BOTTOM,HIDE_LEFTorHIDE_RIGHTresizeOnVisibilityChange- If true, resize the top-level ancestor when the hideable component is shown/hidden
-
-
Method Details
-
toggleVisibility
public void toggleVisibility()Toggle the visibility of the hideable component -
getHideableComponent
- Returns:
- the Component that can be shown/hidden
-
getBaseComponent
- Returns:
- the Component that remains always visible
-
getBaseComponentSize
protected int getBaseComponentSize()- Returns:
- the size of the base component along the axis of orientation
-
getHideableComponentSize
protected int getHideableComponentSize()- Returns:
- the size of the hideable component along the axis of orientation
-
hideComponent
public void hideComponent()Hide the hideable component -
showTransverseComponent
Set the divider location and/or the top-level ancestor size to be large enough to display the argumentComponentSplitter.SplitPane's hideable component- Parameters:
split-
-
resizeBaseComponent
protected void resizeBaseComponent()Set the base component size to be large enough to accomodate all descendant SplitPane's showing components -
getPreferredBaseComponentSize
protected int getPreferredBaseComponentSize()- Returns:
- the preferred size of the base component along the orientation axis
-
hideTransverseComponent
Set the divider location and/or the top-level ancestor size to the preferred transverse size.- Parameters:
split-
-
getTransverseSize
Return the preferred size of the top-level container in the direction transverse to this SplitPane's orientation. Depends on which ancestors have been shown usingshowTransverseComponent(VASSAL.tools.ComponentSplitter.SplitPane). -
showComponent
public void showComponent()Show the hideable component -
getPreferredDividerLocation
protected int getPreferredDividerLocation()- Returns:
- the preferred location of the divider when the hideable component is visible
-
getTransverseSplit
Return the first SplitPane ancestor with a different orientation from this SplitPane- Returns:
-
getPreferredSize
If the hideable component is not visible, use the base component's preferred size- Overrides:
getPreferredSizein classJComponent
-