Class ALcdZoomNavigationControl
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
- Direct Known Subclasses:
TLcdGXYZoomNavigationControl
,TLspZoomNavigationControl
getZoom()
.
Usually implementations will want to know when the value is changed internally, as a
consequence of mouse events directly on the component. A subclass therefore has to implement the
abstract methods startInteraction()
and endInteraction()
. The first method is
called when a mouse pressed event is received on the component, and indicates that a valid zoom value
is available. That value can then be used to typically alter the zoom level of a view. The second method
will be called on a mouse released event and indicates that no usable value is currently available.
As an example, an implementation can start a timer in startInteraction
that periodically
checks the value returned by getZoomY
to change a view, until a call to startInteraction
stops the timer.
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:
- zoom_slider_inactive.png: the main slider, when the navigation controls are inactive.
- zoom_slider.png: the main slider, when the navigation controls is active.
- zoom_indicator_inactive.png: The indicator that moves over the slider, when the navigation controls are inactive.
- zoom_indicator.png: The indicator that moves over the slider, when the navigation controls are active.
- zoom_plus_inactive.png: the plus button when the navigation controls are inactive.
- zoom_min_inactive.png: the min button when the navigation controls are inactive.
- zoom_plus.png: the plus button when the navigation controls are active.
- zoom_min.png: the min button when the navigation controls are active.
- zoom_plus_selected.png: the plus button when the mouse is hovering over the button.
- zoom_min_selected.png: the min button when the mouse is hovering over the button.
Below you can see what the zoom 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.AccessibleJPanel
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
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
Modifier and TypeFieldDescriptionstatic final String
Default name of the subfolder in the navigationcontrols image folder containing all zoom 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_WINDOW
Fields inherited from class java.awt.Component
accessibleContext, 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
ConstructorDescriptionALcdZoomNavigationControl
(String aImagePath) A constructor for the pancomponent. -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract void
This method will be called when the mouse stops interacting with the panel.Returns the dimension specified by the images used.Returns the dimension specified by the images used.Returns the dimension specified by the images used.protected double
getZoom()
This method returns a double that represents the vertical position of the slider.void
setEnabled
(boolean enabled) protected abstract void
This method will be called when the mouse starts interacting with the panel.Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, 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, 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, update
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, 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
-
ZOOM_COMPONENT_DIR
Default name of the subfolder in the navigationcontrols image folder containing all zoom panel images.- See Also:
-
-
Constructor Details
-
ALcdZoomNavigationControl
A constructor for the pancomponent. The constructor also loads the necessary images and will initialize all the subcomponents of the component.The default image path is usually the path to the root folder of the navigation controls +
ZOOM_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:
setEnabled
in classJComponent
-
getZoom
protected double getZoom()This method returns a double that represents the vertical position of the slider. It corresponds with the y-coordinate of the mouse relative to the center of the component, but scaled using the Dimension of the panel, so the resulting values is between 1 and -1. Note: you should only use this method between a call tostartInteraction()
and a call toendInteraction()
. It will not return usable values at any other time.- Returns:
- a point representing the relative position of the slider with respect to the center of the panel.
- See Also:
-
startInteraction
protected abstract void startInteraction()This method will be called when the mouse starts interacting with the panel. Between a call to this method and a call toendInteraction()
the methodgetZoom()
will return a double that can be used to interact with an object.- See Also:
-
endInteraction
protected abstract void endInteraction()This method will be called when the mouse stops interacting with the panel. Between a call tostartInteraction()
and a call to this method, the methodgetZoom()
will return a double that can be used to interact with an object.- See Also:
-
getPreferredSize
Returns the dimension specified by the images used.- Overrides:
getPreferredSize
in classJComponent
- Returns:
- the size of the images this panel is a based on.
-
getMinimumSize
Returns the dimension specified by the images used.- Overrides:
getMinimumSize
in classJComponent
- Returns:
- the size of the images this panel is a based on.
-
getMaximumSize
Returns the dimension specified by the images used.- Overrides:
getMaximumSize
in classJComponent
- Returns:
- the size of the images this panel is based on.
-