Class ImageNavigator
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
org.gvsig.gui.beans.imagenavigator.ImageNavigator
- All Implemented Interfaces:
KeyListener,MouseListener,MouseMotionListener,MouseWheelListener,ImageObserver,MenuContainer,Serializable,EventListener
public class ImageNavigator
extends JComponent
implements KeyListener, MouseMotionListener, MouseListener, MouseWheelListener
ImageNavigator es un componente que representa un manejador
de imágenes. En él se puede desplazar, hacer un zoom out o un zoom in a una
imagen virtual. El componente no trata la imagen en si, solo lanza los
eventos indicando la nueva posición y zoom de la imagen, luego es el usuario
el que se encargará de dibujar esa imagen en la posición correspondiente.
El modo de uso es el siguiente:
- Se puede desplazar una imagen con el botón izquierdo del ratón.
- Se puede hacer zoom in/out con las teclas +/- del teclado.
- Se puede hacer zoom in/out con la rueda del ratón teniendo en cuenta la
posición del mismo.
- Se puede resetear los valores con las teclas 'Espacio' o 0;
- Las teclas 1, 2, 3, 4 y 5 equivalen a zoom 1, 2, 4, 8 y 16 respectivamente.
- La tecla C sirve para centrar la imagen.
- La tecla B sirve para mostrar u ocultar los cuadros del fondo. Útil para
mostrar imagenes con transparencia.
- La tecla H muestra la ayuda.- Version:
- 04/05/2007
- Author:
- BorSanZa - Borja Sánchez Zamorano (borja.sanchez@iver.es)
- See Also:
-
Nested Class Summary
Nested 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 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
ConstructorsConstructorDescriptionCrea unImageNavigatorImageNavigator(IClientImageNavigator iClient) Crea unImageNavigatorespecificandole quien pintara el componente -
Method Summary
Modifier and TypeMethodDescriptionvoidDevuelve el color de los recuadros del fondovoidCentra la imagenbooleanDevuelve si se esta mostrando o no la cuadricula de fondo.voidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidEvento de la rueda del ratón para hacer Zoom In o Zoom Out en la posición del puntero.voidvoidEspecifica el zoom que usará por defecto el componente.voidsetBackgroundColor(Color backgroundColor) Define el color de los recuadros del fondovoidvoidsetEnabled(boolean enabled) voidsetShowBackground(boolean showBackground) Define si se muestra o no la cuadricula de fondo.voidsetViewDimensions(double x1, double y1, double x2, double y2) Especifica el rectangulo de la imagen a visualizar, pudiendo tener cualquiera de los ejes X e Y invertidosvoidsetZoom(double zoom) Especifica el zoom que usará por defecto el componente.voidHace un forzado de pintado del buffer temporal de la imagen.Methods inherited from class javax.swing.JComponent
addAncestorListener, 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, isDoubleBuffered, 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, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUIMethods 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, 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, 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
-
Constructor Details
-
ImageNavigator
public ImageNavigator()Crea unImageNavigator
-
-
Method Details
-
imageCenter
public void imageCenter()Centra la imagen -
setViewDimensions
public void setViewDimensions(double x1, double y1, double x2, double y2) Especifica el rectangulo de la imagen a visualizar, pudiendo tener cualquiera de los ejes X e Y invertidos- Parameters:
x1- Coordenada izquierday1- Coordenada superiorx2- Coordenada derechay2- Coordenada inferior
-
updateBuffer
public void updateBuffer()Hace un forzado de pintado del buffer temporal de la imagen. Este método forzará una llamada a la función de pintado del cliente. -
setZoom
public void setZoom(double zoom) Especifica el zoom que usará por defecto el componente.- Parameters:
zoom-
-
setAutoAdjusted
public void setAutoAdjusted()Especifica el zoom que usará por defecto el componente.- Parameters:
zoom-
-
addNotify
public void addNotify()- Overrides:
addNotifyin classJComponent
-
keyPressed
- Specified by:
keyPressedin interfaceKeyListener
-
paint
- Overrides:
paintin classJComponent
-
mousePressed
- Specified by:
mousePressedin interfaceMouseListener
-
mouseDragged
- Specified by:
mouseDraggedin interfaceMouseMotionListener
-
mouseReleased
- Specified by:
mouseReleasedin interfaceMouseListener
-
mouseWheelMoved
Evento de la rueda del ratón para hacer Zoom In o Zoom Out en la posición del puntero.- Specified by:
mouseWheelMovedin interfaceMouseWheelListener
-
mouseMoved
- Specified by:
mouseMovedin interfaceMouseMotionListener
-
mouseClicked
- Specified by:
mouseClickedin interfaceMouseListener
-
keyReleased
- Specified by:
keyReleasedin interfaceKeyListener
-
keyTyped
- Specified by:
keyTypedin interfaceKeyListener
-
mouseEntered
- Specified by:
mouseEnteredin interfaceMouseListener
-
mouseExited
- Specified by:
mouseExitedin interfaceMouseListener
-
setBackgroundColor
Define el color de los recuadros del fondo- Parameters:
backgroundColor- the backgroundColor to set
-
getBackgroundColor
Devuelve el color de los recuadros del fondo- Returns:
- the backgroundColor
-
isShowBackground
public boolean isShowBackground()Devuelve si se esta mostrando o no la cuadricula de fondo.- Returns:
- the showBackground
-
setShowBackground
public void setShowBackground(boolean showBackground) Define si se muestra o no la cuadricula de fondo. Util para imagenes transparentes- Parameters:
showBackground- the showBackground to set
-
setEnabled
public void setEnabled(boolean enabled) - Overrides:
setEnabledin classJComponent