## org.apache.batik.swing
Class JSVGScrollPane

    java.lang.Object
      java.awt.Component
          java.awt.Container
              javax.swing.JComponent
                  javax.swing.JPanel
                      org.apache.batik.swing.JSVGScrollPane

All Implemented Interfaces:
  javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class JSVGScrollPane
extends javax.swing.JPanel

This is implements a 2D scroller that will scroll an JSVGCanvas.

Reimplimentation, rather than imlementing the Scrollable interface, provides several advantages. The main advantage is the ability to more precisely control ScrollBar events; fewer JSVGCanvas updates are required when scrolling. This creates a significant performance (reflected by an increase in scroll speed) advantage compared to implementating the Scrollable interface.

See Also:
  Serialized Form

Nested Class Summary
`protected class` `JSVGScrollPane.SBListener` Advanced JScrollBar listener.
`protected class` `JSVGScrollPane.ScrollListener` Handle scroll, zoom, and resize events

Nested classes inherited from class javax.swing.JPanel
`javax.swing.JPanel.AccessibleJPanel`

Nested classes inherited from class javax.swing.JComponent
`javax.swing.JComponent.AccessibleJComponent`

Nested classes inherited from class java.awt.Container
`java.awt.Container.AccessibleAWTContainer`

Nested classes inherited from class java.awt.Component
`java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy`

Field Summary
`protected JSVGCanvas` `canvas`
`protected java.awt.Component` `cornerBox`
`protected javax.swing.JScrollBar` `horizontal`
`protected javax.swing.JPanel` `horizontalPanel`
`protected JSVGScrollPane.SBListener` `hsbListener`
`protected boolean` `ignoreScrollChange`
`protected javax.swing.JScrollBar` `vertical`
`protected java.awt.geom.Rectangle2D.Float` `viewBox`
`protected JSVGScrollPane.SBListener` `vsbListener`

Fields inherited from class javax.swing.JComponent
`accessibleContext, 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
`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
`JSVGScrollPane(JSVGCanvas canvas)` Creates a JSVGScrollPane, which will scroll an JSVGCanvas.

Method Summary
`protected void` `checkAndSetViewBoxRect()` Derives the SVG Viewbox from the SVG root element.
`protected JSVGScrollPane.SBListener` `createScrollBarListener(boolean isVertical)` Scrollbar listener factory method so subclasses can use a subclass of SBListener if needed.
`JSVGCanvas` `getCanvas()`
`void` `reset()` Resets this object (for reloads), releasing any cached data and recomputing scroll extents.
`protected void` `resizeScrollBars()` Compute the scrollbar extents, and determine if scrollbars should be visible.
`void` `scaleChange(float scale)` Called when the scale size changes.
`protected void` `setScrollPosition()` Sets the translation portion of the transform based upon the current scroll bar position
`protected java.awt.Dimension` `updateScrollbarVisibility(int tx, int ty, int maxW, int maxH)`

Methods inherited from class javax.swing.JPanel
`getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI`

Methods inherited from class javax.swing.JComponent

`addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### canvas

    protected JSVGCanvas canvas

### horizontalPanel

    protected javax.swing.JPanel horizontalPanel

### vertical

    protected javax.swing.JScrollBar vertical

### horizontal

    protected javax.swing.JScrollBar horizontal

### cornerBox

    protected java.awt.Component cornerBox

### hsbListener

    protected JSVGScrollPane.SBListener hsbListener

### vsbListener

    protected JSVGScrollPane.SBListener vsbListener

### viewBox

    protected java.awt.geom.Rectangle2D.Float viewBox

### ignoreScrollChange

    protected boolean ignoreScrollChange

Constructor Detail

### JSVGScrollPane

    public JSVGScrollPane(JSVGCanvas canvas)

  Creates a JSVGScrollPane, which will scroll an JSVGCanvas.

Method Detail

### createScrollBarListener

    protected JSVGScrollPane.SBListener createScrollBarListener(boolean isVertical)

  Scrollbar listener factory method so subclasses can use a subclass of SBListener if needed.

### getCanvas

    public JSVGCanvas getCanvas()

### reset

    public void reset()

  Resets this object (for reloads), releasing any cached data and recomputing scroll extents.

### setScrollPosition

    protected void setScrollPosition()

  Sets the translation portion of the transform based upon the current scroll bar position

### resizeScrollBars

    protected void resizeScrollBars()

  Compute the scrollbar extents, and determine if scrollbars should be visible.

### updateScrollbarVisibility

    protected java.awt.Dimension updateScrollbarVisibility(int tx,
                                                           int ty,
                                                           int maxW,
                                                           int maxH)

### checkAndSetViewBoxRect

    protected void checkAndSetViewBoxRect()

  Derives the SVG Viewbox from the SVG root element. Caches it. Assumes that it will not change.

### scaleChange

    public void scaleChange(float scale)

  Called when the scale size changes. The scale factor (1.0 == original size). By default, this method does nothing, but may be overidden to display a scale (zoom) factor in a status bar, for example.

Copyright © 2004 Apache Software Foundation. All Rights Reserved.