- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.plaf.basic.BasicSplitPaneDivider
-
- All Implemented Interfaces:
- ImageObserver, MenuContainer, PropertyChangeListener, Serializable, EventListener
public class BasicSplitPaneDivider extends Container implements PropertyChangeListener
Divider used by BasicSplitPaneUI. Subclassers may wish to override paint to do something more interesting. The border effect is drawn in BasicSplitPaneUI, so if you don't like that border, reset it there. To conditionally drag from certain areas subclass mousePressed and call super when you wish the dragging to begin.Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeansTM has been added to the
java.beans
package. Please seeXMLEncoder
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class and Description protected class
BasicSplitPaneDivider.DividerLayout
Used to layout aBasicSplitPaneDivider
.protected class
BasicSplitPaneDivider.DragController
Handles the events during a dragging session for a HORIZONTAL_SPLIT oriented split pane.protected class
BasicSplitPaneDivider.MouseHandler
MouseHandler is responsible for converting mouse events (released, dragged...) into the appropriate DragController methods.protected class
BasicSplitPaneDivider.VerticalDragController
Handles the events during a dragging session for a VERTICAL_SPLIT oriented split pane.-
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
Fields Modifier and Type Field and Description protected int
dividerSize
Size of the divider.protected BasicSplitPaneDivider.DragController
dragger
Handles mouse dragging message to do the actual dragging.protected Component
hiddenDivider
Divider that is used for noncontinuous layout mode.protected JButton
leftButton
Button for quickly toggling the left component.protected BasicSplitPaneDivider.MouseHandler
mouseHandler
Handles mouse events from both this class, and the split pane.protected static int
ONE_TOUCH_OFFSET
protected static int
ONE_TOUCH_SIZE
Width or height of the divider based on orientation BasicSplitPaneUI adds two to this.protected int
orientation
Orientation of the JSplitPane.protected JButton
rightButton
Button for quickly toggling the right component.protected JSplitPane
splitPane
JSplitPane the receiver is contained in.protected BasicSplitPaneUI
splitPaneUI
UI this instance was created from.-
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
-
Constructor Summary
Constructors Constructor and Description BasicSplitPaneDivider(BasicSplitPaneUI ui)
Creates an instance of BasicSplitPaneDivider.
-
Method Summary
Methods Modifier and Type Method and Description protected JButton
createLeftOneTouchButton()
Creates and return an instance of JButton that can be used to collapse the left component in the split pane.protected JButton
createRightOneTouchButton()
Creates and return an instance of JButton that can be used to collapse the right component in the split pane.protected void
dragDividerTo(int location)
Messages the BasicSplitPaneUI with dragDividerTo that this instance is contained in.protected void
finishDraggingTo(int location)
Messages the BasicSplitPaneUI with finishDraggingTo that this instance is contained in.BasicSplitPaneUI
getBasicSplitPaneUI()
Returns theSplitPaneUI
the receiver is currently in.Border
getBorder()
Returns the border of this component or null if no border is currently set.int
getDividerSize()
Returns the size of the divider, that is the width if the splitpane is HORIZONTAL_SPLIT, or the height of VERTICAL_SPLIT.Insets
getInsets()
If a border has been set on this component, returns the border's insets, else calls super.getInsets.Dimension
getMinimumSize()
Returns dividerSize x dividerSizeDimension
getPreferredSize()
Returns dividerSize x dividerSizeboolean
isMouseOver()
Returns whether or not the mouse is currently over the dividerprotected void
oneTouchExpandableChanged()
Messaged when the oneTouchExpandable value of the JSplitPane the receiver is contained in changes.void
paint(Graphics g)
Paints the divider.protected void
prepareForDragging()
Message to prepare for dragging.void
propertyChange(PropertyChangeEvent e)
Property change event, presumably from the JSplitPane, will message updateOrientation if necessary.void
setBasicSplitPaneUI(BasicSplitPaneUI newUI)
Sets the SplitPaneUI that is using the receiver.void
setBorder(Border border)
Sets the border of this component.void
setDividerSize(int newSize)
Sets the size of the divider tonewSize
.protected void
setMouseOver(boolean mouseOver)
Sets whether or not the mouse is currently over the divider.-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addNotify, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getListeners, getMaximumSize, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, isValidateRoot, layout, list, list, locate, minimumSize, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, update, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, revalidate, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
ONE_TOUCH_SIZE
protected static final int ONE_TOUCH_SIZE
Width or height of the divider based on orientation BasicSplitPaneUI adds two to this.- See Also:
- Constant Field Values
-
ONE_TOUCH_OFFSET
protected static final int ONE_TOUCH_OFFSET
- See Also:
- Constant Field Values
-
dragger
protected BasicSplitPaneDivider.DragController dragger
Handles mouse dragging message to do the actual dragging.
-
splitPaneUI
protected BasicSplitPaneUI splitPaneUI
UI this instance was created from.
-
dividerSize
protected int dividerSize
Size of the divider.
-
hiddenDivider
protected Component hiddenDivider
Divider that is used for noncontinuous layout mode.
-
splitPane
protected JSplitPane splitPane
JSplitPane the receiver is contained in.
-
mouseHandler
protected BasicSplitPaneDivider.MouseHandler mouseHandler
Handles mouse events from both this class, and the split pane. Mouse events are handled for the splitpane since you want to be able to drag when clicking on the border of the divider, which is not drawn by the divider.
-
orientation
protected int orientation
Orientation of the JSplitPane.
-
leftButton
protected JButton leftButton
Button for quickly toggling the left component.
-
rightButton
protected JButton rightButton
Button for quickly toggling the right component.
-
-
Constructor Detail
-
BasicSplitPaneDivider
public BasicSplitPaneDivider(BasicSplitPaneUI ui)
Creates an instance of BasicSplitPaneDivider. Registers this instance for mouse events and mouse dragged events.
-
-
Method Detail
-
setBasicSplitPaneUI
public void setBasicSplitPaneUI(BasicSplitPaneUI newUI)
Sets the SplitPaneUI that is using the receiver.
-
getBasicSplitPaneUI
public BasicSplitPaneUI getBasicSplitPaneUI()
Returns theSplitPaneUI
the receiver is currently in.
-
setDividerSize
public void setDividerSize(int newSize)
Sets the size of the divider tonewSize
. That is the width if the splitpane isHORIZONTAL_SPLIT
, or the height ofVERTICAL_SPLIT
.
-
getDividerSize
public int getDividerSize()
Returns the size of the divider, that is the width if the splitpane is HORIZONTAL_SPLIT, or the height of VERTICAL_SPLIT.
-
setBorder
public void setBorder(Border border)
Sets the border of this component.- Since:
- 1.3
-
getBorder
public Border getBorder()
Returns the border of this component or null if no border is currently set.- Returns:
- the border object for this component
- Since:
- 1.3
- See Also:
setBorder(javax.swing.border.Border)
-
getInsets
public Insets getInsets()
If a border has been set on this component, returns the border's insets, else calls super.getInsets.- Overrides:
getInsets
in classContainer
- Returns:
- the value of the insets property.
- See Also:
setBorder(javax.swing.border.Border)
-
setMouseOver
protected void setMouseOver(boolean mouseOver)
Sets whether or not the mouse is currently over the divider.- Parameters:
mouseOver
- whether or not the mouse is currently over the divider- Since:
- 1.5
-
isMouseOver
public boolean isMouseOver()
Returns whether or not the mouse is currently over the divider- Returns:
- whether or not the mouse is currently over the divider
- Since:
- 1.5
-
getPreferredSize
public Dimension getPreferredSize()
Returns dividerSize x dividerSize- Overrides:
getPreferredSize
in classContainer
- Returns:
- an instance of
Dimension
that represents the preferred size of this container. - See Also:
Container.getMinimumSize()
,Container.getMaximumSize()
,Container.getLayout()
,LayoutManager.preferredLayoutSize(Container)
,Component.getPreferredSize()
-
getMinimumSize
public Dimension getMinimumSize()
Returns dividerSize x dividerSize- Overrides:
getMinimumSize
in classContainer
- Returns:
- an instance of
Dimension
that represents the minimum size of this container. - See Also:
Container.getPreferredSize()
,Container.getMaximumSize()
,Container.getLayout()
,LayoutManager.minimumLayoutSize(Container)
,Component.getMinimumSize()
-
propertyChange
public void propertyChange(PropertyChangeEvent e)
Property change event, presumably from the JSplitPane, will message updateOrientation if necessary.- Specified by:
propertyChange
in interfacePropertyChangeListener
- Parameters:
e
- A PropertyChangeEvent object describing the event source and the property that has changed.
-
paint
public void paint(Graphics g)
Paints the divider.- Overrides:
paint
in classContainer
- Parameters:
g
- the specified Graphics window- See Also:
Component.update(Graphics)
-
oneTouchExpandableChanged
protected void oneTouchExpandableChanged()
Messaged when the oneTouchExpandable value of the JSplitPane the receiver is contained in changes. Will create theleftButton
andrightButton
if they are null. invalidates the receiver as well.
-
createLeftOneTouchButton
protected JButton createLeftOneTouchButton()
Creates and return an instance of JButton that can be used to collapse the left component in the split pane.
-
createRightOneTouchButton
protected JButton createRightOneTouchButton()
Creates and return an instance of JButton that can be used to collapse the right component in the split pane.
-
prepareForDragging
protected void prepareForDragging()
Message to prepare for dragging. This messages the BasicSplitPaneUI with startDragging.
-
dragDividerTo
protected void dragDividerTo(int location)
Messages the BasicSplitPaneUI with dragDividerTo that this instance is contained in.
-
finishDraggingTo
protected void finishDraggingTo(int location)
Messages the BasicSplitPaneUI with finishDraggingTo that this instance is contained in.
-
-
Nederlandse vertaling
U hebt gevraagd om deze site in het Nederlands te bezoeken. Voor nu wordt alleen de interface vertaald, maar nog niet alle inhoud.Als je me wilt helpen met vertalingen, is je bijdrage welkom. Het enige dat u hoeft te doen, is u op de site registreren en mij een bericht sturen waarin u wordt gevraagd om u toe te voegen aan de groep vertalers, zodat u de gewenste pagina's kunt vertalen. Een link onderaan elke vertaalde pagina geeft aan dat u de vertaler bent en heeft een link naar uw profiel.
Bij voorbaat dank.
Document heeft de 11/06/2005 gemaakt, de laatste keer de 04/03/2020 gewijzigd
Bron van het afgedrukte document:https://www.gaudry.be/nl/java-api-rf-javax/swing/plaf/basic/BasicSplitPaneDivider.html
De infobrol is een persoonlijke site waarvan de inhoud uitsluitend mijn verantwoordelijkheid is. De tekst is beschikbaar onder CreativeCommons-licentie (BY-NC-SA). Meer info op de gebruiksvoorwaarden en de auteur.
Referenties
Deze verwijzingen en links verwijzen naar documenten die geraadpleegd zijn tijdens het schrijven van deze pagina, of die aanvullende informatie kunnen geven, maar de auteurs van deze bronnen kunnen niet verantwoordelijk worden gehouden voor de inhoud van deze pagina.
De auteur Deze site is als enige verantwoordelijk voor de manier waarop de verschillende concepten, en de vrijheden die met de referentiewerken worden genomen, hier worden gepresenteerd. Vergeet niet dat u meerdere broninformatie moet doorgeven om het risico op fouten te verkleinen.