Package com.jidesoft.swing
Class Contour
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- com.jidesoft.swing.Contour
-
- All Implemented Interfaces:
IContour
,java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
public class Contour extends javax.swing.JComponent implements IContour
AContour
is a lightweight component which only paints the outline of component when dragged. It is also used as a placeholder for some information during dragging. Notes: this class has to be public so that JIDE can use it in different packages, not meant to release to end user as a public API. JIDE will not guarantee the class will remain as it is.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static int
FULL_OUTLINE_MODE
static int
MIX_OUTLINE_MODE
static int
PARTIAL_OUTLINE_MODE
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
cleanup()
java.awt.Component
getAttachedComponent()
Gets the attached component of this contour.int
getAttachedSide()
Gets the side of the attached component which the contour is attached to.java.awt.Component
getGlassPane()
int
getOutlineMode()
java.awt.Container
getRelativeContainer()
javax.swing.JComponent
getSaveDraggedComponent()
Gets saved dragged component before the contour is hidden.int
getSaveMouseModifier()
Gets saved mouse modifier before the contour is hidden.int
getSaveX()
Gets saved X position of contour before it's hidden.int
getSaveY()
Gets saved Y position of contour before it's hidden.int
getTabHeight()
Gets tab height.int
getTabSide()
Gets the side of the tab.boolean
isAllowDocking()
Checks if docking is allowed.boolean
isChangeCursor()
boolean
isDoubleBuffered()
Returns whether this component should use a buffer to paint.boolean
isFloating()
Returns true if the contour is in floating mode.boolean
isSingle()
When you dragged a component, several other components could be dragged.boolean
isTabDocking()
Returns true if the contour is in tab-dock mode.boolean
isVisible()
Determines whether this component should be visible when its parent is visible.void
paint(java.awt.Graphics g)
Paint a rectangle or tab-shape usingDOTTED_STROKE
with width of
WIDTH
.
void
setAllowDocking(boolean allowDocking)
Sets the value of docking.void
setAttachedComponent(java.awt.Component attachedComponent)
Sets the attached components.void
setAttachedSide(int attachedSide)
Sets the side of the attached component which the contour is attached to.void
setBounds(int x, int y, int width, int height)
Overwrite setBounds so that width and height are always even.void
setBounds(java.awt.Rectangle r)
Overwrite setBounds so that width and height are always even.void
setChangeCursor(boolean changeCursor)
void
setDraggingInformation(javax.swing.JComponent comp, int saveX, int saveY, int saveMouseModifier)
Stores information before the contour is hidden.void
setFloating(boolean floating)
Sets the floating mode.void
setGlassPane(java.awt.Component glassPane)
void
setOutlineMode(int outlineMode)
void
setRelativeContainer(java.awt.Container relativeContainer)
void
setSingle(boolean single)
Sets the value of single.void
setTabDocking(boolean tabDocking)
Sets the tab-docking mode.void
setTabHeight(int tabHeight)
Sets the tab height.void
setTabSide(int tabSide)
Sets the side of the tab.void
setVisible(boolean aFlag)
Makes the component visible or invisible.-
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, getUI, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, 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, unregisterKeyboardAction, update, updateUI
-
Methods inherited from class java.awt.Container
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
-
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, getAccessibleContext, 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, 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, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, 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
-
Methods inherited from interface com.jidesoft.swing.IContour
getBounds, isLightweight
-
-
-
-
Field Detail
-
PARTIAL_OUTLINE_MODE
public static final int PARTIAL_OUTLINE_MODE
- See Also:
- Constant Field Values
-
MIX_OUTLINE_MODE
public static final int MIX_OUTLINE_MODE
- See Also:
- Constant Field Values
-
FULL_OUTLINE_MODE
public static final int FULL_OUTLINE_MODE
- See Also:
- Constant Field Values
-
-
Method Detail
-
isDoubleBuffered
public boolean isDoubleBuffered()
Returns whether this component should use a buffer to paint.- Overrides:
isDoubleBuffered
in classjavax.swing.JComponent
- Returns:
- true if this component is double buffered, otherwise false
-
paint
public void paint(java.awt.Graphics g)
Paint a rectangle or tab-shape usingDOTTED_STROKE
with width of
WIDTH
.
- Overrides:
paint
in classjavax.swing.JComponent
- Parameters:
g
-
-
setBounds
public void setBounds(java.awt.Rectangle r)
Overwrite setBounds so that width and height are always even.
-
setBounds
public void setBounds(int x, int y, int width, int height)
Overwrite setBounds so that width and height are always even. It looks ugly for either dimension is odd when painting withDOTTED_STROKE
-
getTabHeight
public int getTabHeight()
Gets tab height.- Specified by:
getTabHeight
in interfaceIContour
- Returns:
- tab height
-
setTabHeight
public void setTabHeight(int tabHeight)
Sets the tab height.- Specified by:
setTabHeight
in interfaceIContour
- Parameters:
tabHeight
-
-
isTabDocking
public boolean isTabDocking()
Returns true if the contour is in tab-dock mode.- Specified by:
isTabDocking
in interfaceIContour
- Returns:
- true if tab-docking; false otherwise
-
setTabDocking
public void setTabDocking(boolean tabDocking)
Sets the tab-docking mode.- Specified by:
setTabDocking
in interfaceIContour
- Parameters:
tabDocking
- new mode
-
getTabSide
public int getTabSide()
Gets the side of the tab.- Specified by:
getTabSide
in interfaceIContour
- Returns:
- the side of the tab
-
setTabSide
public void setTabSide(int tabSide)
Sets the side of the tab.- Specified by:
setTabSide
in interfaceIContour
- Parameters:
tabSide
-
-
isFloating
public boolean isFloating()
Returns true if the contour is in floating mode.- Specified by:
isFloating
in interfaceIContour
- Returns:
- true if floating; false otherwise
-
setFloating
public void setFloating(boolean floating)
Sets the floating mode.- Specified by:
setFloating
in interfaceIContour
- Parameters:
floating
- new mode
-
getAttachedComponent
public java.awt.Component getAttachedComponent()
Gets the attached component of this contour.- Specified by:
getAttachedComponent
in interfaceIContour
- Returns:
- the attached component
-
setAttachedComponent
public void setAttachedComponent(java.awt.Component attachedComponent)
Sets the attached components.- Specified by:
setAttachedComponent
in interfaceIContour
- Parameters:
attachedComponent
- attached component to be set
-
getAttachedSide
public int getAttachedSide()
Gets the side of the attached component which the contour is attached to.- Specified by:
getAttachedSide
in interfaceIContour
- Returns:
- side the attached side
-
setAttachedSide
public void setAttachedSide(int attachedSide)
Sets the side of the attached component which the contour is attached to.- Specified by:
setAttachedSide
in interfaceIContour
- Parameters:
attachedSide
- the new attached side to be set
-
isSingle
public boolean isSingle()
When you dragged a component, several other components could be dragged. For example, if user drags on title bar of FrameContainer, all components in the FrameContainer are considered as dragged. If user drags on tab, only selected one is dragged.
-
setSingle
public void setSingle(boolean single)
Sets the value of single.
-
isAllowDocking
public boolean isAllowDocking()
Checks if docking is allowed.- Specified by:
isAllowDocking
in interfaceIContour
- Returns:
true
if docking is allowed;false
otherwise.
-
setAllowDocking
public void setAllowDocking(boolean allowDocking)
Sets the value of docking.- Specified by:
setAllowDocking
in interfaceIContour
- Parameters:
allowDocking
-true
if docking is allowed;false
otherwise.
-
getRelativeContainer
public java.awt.Container getRelativeContainer()
- Specified by:
getRelativeContainer
in interfaceIContour
-
setRelativeContainer
public void setRelativeContainer(java.awt.Container relativeContainer)
- Specified by:
setRelativeContainer
in interfaceIContour
-
getSaveX
public int getSaveX()
Gets saved X position of contour before it's hidden.
-
getSaveY
public int getSaveY()
Gets saved Y position of contour before it's hidden.
-
getSaveMouseModifier
public int getSaveMouseModifier()
Gets saved mouse modifier before the contour is hidden.- Specified by:
getSaveMouseModifier
in interfaceIContour
- Returns:
- saved mouse modifier
-
getSaveDraggedComponent
public javax.swing.JComponent getSaveDraggedComponent()
Gets saved dragged component before the contour is hidden.- Specified by:
getSaveDraggedComponent
in interfaceIContour
- Returns:
- saved dragged component
-
setDraggingInformation
public void setDraggingInformation(javax.swing.JComponent comp, int saveX, int saveY, int saveMouseModifier)
Stores information before the contour is hidden. Those information will be used to restore when the contour is set visible again.- Specified by:
setDraggingInformation
in interfaceIContour
- Parameters:
comp
- the dragged componentsaveX
- X position of the contoursaveY
- Y position of the contoursaveMouseModifier
- mouse modifier in the MouseEvent
-
setVisible
public void setVisible(boolean aFlag)
Makes the component visible or invisible. OverridesComponent.setVisible
.- Specified by:
setVisible
in interfaceIContour
- Overrides:
setVisible
in classjavax.swing.JComponent
- Parameters:
aFlag
- true to make the component visible; false to make it invisible
-
isVisible
public boolean isVisible()
Determines whether this component should be visible when its parent is visible. Components are initially visible, with the exception of top level components such asFrame
objects.- Specified by:
isVisible
in interfaceIContour
- Overrides:
isVisible
in classjava.awt.Component
- Returns:
true
if the component is visible,false
otherwise- Since:
- JDK1.0
- See Also:
setVisible(boolean)
-
getOutlineMode
public int getOutlineMode()
-
setOutlineMode
public void setOutlineMode(int outlineMode)
-
getGlassPane
public java.awt.Component getGlassPane()
- Specified by:
getGlassPane
in interfaceIContour
-
setGlassPane
public void setGlassPane(java.awt.Component glassPane)
- Specified by:
setGlassPane
in interfaceIContour
-
isChangeCursor
public boolean isChangeCursor()
-
setChangeCursor
public void setChangeCursor(boolean changeCursor)
- Specified by:
setChangeCursor
in interfaceIContour
-
-