Class ALcdPanNavigationControl
- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable,Accessible
- Direct Known Subclasses:
TLspPanNavigationControl
getPoint().
Usually implementations will want to know when this point is changed internally, as a
consequence of mouse events directly on the component. A subclass therefore has to implement certain
abstract methods. The point is only available after a mouse pressed event is received and before a
mouse released event is received. These events trigger calls o the abstract methods interactionStarted()
and interactionStopped() respectively. As such they notify the implementing class that between
these calls, the method getPoint() will return a point that can be used to interact with
a view or any other object. Usually this point will be used to pan or rotate a view. A call to
startInteraction can for instance start a timer that will periodically check the
value returned by getPoint to pan the view until the timer is stopped by a call to
endInteraction .
The appearance of this component is specified by a number of images. Furthermore the appearance
can be changed at runtime. The method setEnabled(boolean) can be used to toggle between
an active and an inactive appearance. By default the active appearance is only used when the mouse
hovers over the component. The active/inactive appearance is usually shared with a few other
(navigation control) components. See TLcdMouseOverGroup
for more details.
The exact appearance is specified by the following images in png format:
- pan_inactive.png: the pan panel, when the navigation panel is inactive.
- pan.png: the pan panel, when the navigation panel is active.
- pan_direction.png: the direction indicator when dragging or pressing the mouse over the panel.
Below you can see what the pan control looks like with the default set of images.
- Since:
- 10.0
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanelNested 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
FieldsModifier and TypeFieldDescriptionstatic final StringDefault name of the subfolder in the navigationcontrols image folder containing all pan panel images.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_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
ConstructorsConstructorDescriptionALcdPanNavigationControl(String aImagePath) A constructor for the pancomponent. -
Method Summary
Modifier and TypeMethodDescriptionReturns the dimension specified by the images used.Returns the dimension specified by the images used.protected Point2D.DoublegetPoint()This method returns a point that represents where the mouse is located over the panel.Returns the dimension specified by the images used.protected abstract voidThis method will be called when the mouse starts interacting with the panel.protected abstract voidThis method will be called when the mouse stops interacting with the panel.voidsetEnabled(boolean enabled) Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, 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, 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, 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, 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, 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, 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
-
PAN_COMPONENT_DIR
Default name of the subfolder in the navigationcontrols image folder containing all pan panel images.- See Also:
-
-
Constructor Details
-
ALcdPanNavigationControl
A constructor for the pancomponent. The constructor also loads the necessary images and will initialize all the subcomponents of the panel.The default image path is usually the path to the root folder of the navigation controls +
PAN_COMPONENT_DIR. This constant can be used by factory methods to create a complete set of navigation controls with a single path to a root folder.- Parameters:
aImagePath- The (relative or absolute) path to the directory where the images are stored. For relative paths, the classpath and the working directory are searched.- Throws:
IOException- when one of the necessary images is missing.
-
-
Method Details
-
setEnabled
public void setEnabled(boolean enabled) - Overrides:
setEnabledin classJComponent
-
getPoint
This method returns a point that represents where the mouse is located over the panel. It corresponds with the location of the mouse relative to the center of the component, but scaled using the Dimension of the panel, so the resulting X and Y values are between 1 and -1. Note: you should only use this method between a call tointeractionStarted()and a call tointeractionStopped(). It will not return usable values at any other time.- Returns:
- a point representing the relative position of the mouse with respect to the center of the panel.
- See Also:
-
interactionStarted
protected abstract void interactionStarted()This method will be called when the mouse starts interacting with the panel. Between a call to this method and a call tointeractionStopped()the methodgetPoint()will return a point that can be used to interact with an object.- See Also:
-
interactionStopped
protected abstract void interactionStopped()This method will be called when the mouse stops interacting with the panel. Between a call tointeractionStarted()and a call to this method, the methodgetPoint()will return a point that can be used to interact with an object.- See Also:
-
getPreferredSize
Returns the dimension specified by the images used.- Overrides:
getPreferredSizein classJComponent- Returns:
- the size of the images this panel is a based on.
-
getMinimumSize
Returns the dimension specified by the images used.- Overrides:
getMinimumSizein classJComponent- Returns:
- the size of the images this panel is a based on.
-
getMaximumSize
Returns the dimension specified by the images used.- Overrides:
getMaximumSizein classJComponent- Returns:
- the size of the images this panel is based on.
-