public class ViewControl extends JPanel implements ActionListener, ToolListener
Control de zoom. Muestra una imagen contenida en un buffer con controles de aumento y disminución del zoom de la misma.
El visualizador mostrará el buffer de datos pasado en setDrawParams
.
En esta llamada asignamos también el Extent del área de datos, tamaño de pixel y punto
del buffer que coincidirá con el centro del control de zoom. De esta forma la imagen
visualizada se centra sobre este punto. En caso de no tener información geográfica del
buffer de datos a visualizar el Extent coincidirá con su tamaño en píxeles y el tamaño
de pixel será de 1. El punto donde queramos centrar en este caso se dará también en
coordenadas pixel.
Hay dos usos posibles en este control al accionar el botón de zoom: el primero de ellos, en caso de que no haya ningún listener del control de zoom registrado. En este caso se aplicará un escalado sobre los datos del buffer pasado por parámetro. En el caso de que haya un listener registrado (IExtensionBuffer) no se aplicará un escalado sobre el buffer sino que se aplicará una escala de 1.0 y se ejecutará el método request del interfaz registrado para que el cliente reciba notificación del nuevo extent.
En la inicialización podemos solicitar que los controles de zoom estén a la izquierda, a la derecha o no esten.
JPanel.AccessibleJPanel
JComponent.AccessibleJComponent
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Modifier and Type | Field and Description |
---|---|
static int |
FULL_VIEW |
static int |
LEFT_CONTROL |
static int |
LOCATOR |
static int |
NOCONTROL |
static int |
PAN |
static int |
PREV_ZOOM |
static int |
RIGHT_CONTROL |
static int |
SELECT_ZOOM_AREA |
static int |
ZOOM_DECREASE |
static int |
ZOOM_INCREASE |
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
ViewControl(int control,
GeoreferencingView parentView)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
actionPerformed(ActionEvent e)
Eventos de los botones zoom más y zoom menos.
|
void |
addTool(BaseViewTool tool)
Añade una tool a la vista de zoom
|
void |
awakeTools()
Recupera el estado de activación que tenía antes de la última invocación
de sleep
|
void |
disableAllTools() |
void |
disableTool(int tool)
Disables a tool in this view
|
void |
enableTool(int tool) |
void |
enableToolPressingButton(int tool) |
void |
endAction(ToolEvent ev)
Evento de finalización de la tool que maneja el viewControl y de la capa con el
cursor gráfico que controla el área de la miniimagen asociada
|
JButton |
getBCenterLocator()
Crea el botón de centrar el localizador
|
JButton |
getBFullView()
Crea el botón de zoom completo.
|
JToggleButton |
getBPan()
Crea el botón de desplazamiento de imagen
|
JButton |
getBPrevZoom()
Crea el botón de zoom más
|
JToggleButton |
getBSelectZoomArea()
Crea el botón de selección de zoom por área
|
BufferedImage |
getBufferedImage() |
JPanel |
getButtonsPanel()
Obtiene el panel con los botones de zoom
|
JButton |
getBZoomMas()
Crea el botón de zoom más
|
JButton |
getBZoomMenos()
Crea el botón de zoom menos
|
CanvasZone |
getCanvas()
Obtiene el panel de dibujado del zoom
|
int |
getCanvasHeight()
Obtiene el alto del canvas
|
int |
getCanvasWith()
Obtiene el ancho del canvas
|
IViewRequestManager |
getExtensionRequest()
Obtiene el objeto IExtensionRequest
|
BaseViewTool |
getToolSelected()
Obtiene la tool seleccionada
|
ViewRecord |
getZoomRecord()
Obtiene el historico de zooms
|
void |
hideButton(int b)
Oculta el botón indicado en el parámetro
|
void |
offTool(ToolEvent ev)
Informa de que la herramienta está activa.
|
void |
onTool(ToolEvent ev)
Informa de que la herramienta está activa.
|
boolean |
registerToolListener(Class<?> tool,
ToolListener listener)
Registra un listener a la tool especificada por el parámetro de la llamada.
|
void |
reload()
Recarga la vista con los parámetros de tamaño y
extensión actuales
|
void |
replaceTool(BaseViewTool tool)
Añade una tool a la vista de zoom
|
void |
selectUniqueTool(Class<?> tool)
Selecciona una herramienta a partir de su clase deseleccionando cualquier
otra que estuviera activa.
|
void |
setCenter(Point2D center)
Asigna un nuevo centro de visualización.
|
void |
setDrawParams(BufferedImage img,
Rectangle2D ext,
double pixelSize,
Point2D center)
Asigna los parámetros de dibujado
|
void |
setExtensionRequest(IViewRequestManager er)
Registra un objeto IExtensionRequest para que no se aplique un escalado sobre
el buffer pasado por parámetro.
|
void |
setGraphicLayer(IGraphicLayer layer)
Asigna una capa gráfica
|
void |
setViewListener(ViewListener listener)
Asigna el listener de eventos de la vista
|
void |
showButton(int b)
Muestra el botón indicado en el parámetro
|
void |
sleepTools()
Desactiva las herramientas temporalmente.
|
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
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, 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, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
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
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, getPeer, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
public static final int ZOOM_INCREASE
public static final int ZOOM_DECREASE
public static final int SELECT_ZOOM_AREA
public static final int FULL_VIEW
public static final int PREV_ZOOM
public static final int PAN
public static final int LOCATOR
public static final int RIGHT_CONTROL
public static final int LEFT_CONTROL
public static final int NOCONTROL
public ViewControl(int control, GeoreferencingView parentView)
right
- true para los botones a derecha y false para la izquierdapublic void setViewListener(ViewListener listener)
listener
- public void addTool(BaseViewTool tool)
tool
- public void replaceTool(BaseViewTool tool)
tool
- public BaseViewTool getToolSelected()
public void enableToolPressingButton(int tool)
public void enableTool(int tool)
public void selectUniqueTool(Class<?> tool)
tool
- public boolean registerToolListener(Class<?> tool, ToolListener listener)
tool
- Clase de la tool a la que queremos registrar el listenerpublic void sleepTools()
public void disableAllTools()
public void disableTool(int tool)
enable
- public void awakeTools()
public void hideButton(int b)
b
- Constante definida en ZoomControlpublic void showButton(int b)
b
- Constante definida en ZoomControlpublic void setGraphicLayer(IGraphicLayer layer)
layer
- IGraphicLayerpublic CanvasZone getCanvas()
public JPanel getButtonsPanel()
public JButton getBZoomMas()
public JButton getBCenterLocator()
public JButton getBZoomMenos()
public JToggleButton getBSelectZoomArea()
public JToggleButton getBPan()
public JButton getBPrevZoom()
public JButton getBFullView()
public void setDrawParams(BufferedImage img, Rectangle2D ext, double pixelSize, Point2D center)
img
- Buffer con un área de datosext
- Rectangle2D del área de datos dadapixelSize
- Tamaño de pixelcenter
- Punto del área de datos donde se quiere centrar el dibujado del bufferpublic void setCenter(Point2D center)
center
- public void setExtensionRequest(IViewRequestManager er)
er
- public IViewRequestManager getExtensionRequest()
er
- public ViewRecord getZoomRecord()
public void actionPerformed(ActionEvent e)
actionPerformed
in interface ActionListener
public void reload()
public int getCanvasWith()
public int getCanvasHeight()
public BufferedImage getBufferedImage()
public void endAction(ToolEvent ev)
endAction
in interface ToolListener
ev
- ToolEventpublic void onTool(ToolEvent ev)
ToolListener
onTool
in interface ToolListener
public void offTool(ToolEvent ev)
ToolListener
offTool
in interface ToolListener