Class AbstractViewer

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
    Direct Known Subclasses:
    ImageViewer, SheetViewer, VectorImageViewer

    public abstract class AbstractViewer
    extends javax.swing.JPanel
    An abstract base class for zoomable previewers.
    Author:
    Chris Jennings
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.JPanel

        javax.swing.JPanel.AccessibleJPanel
      • Nested classes/interfaces inherited from class javax.swing.JComponent

        javax.swing.JComponent.AccessibleJComponent
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected boolean autoFitToWindow  
      protected java.awt.Insets borderInsets  
      protected java.awt.Font labelFont  
      protected java.awt.Color[] loupeColors  
      protected java.awt.Stroke[] loupeStrokes  
      protected static int MAXIMUM_LOUPE_SIZE  
      protected static int MINIMUM_LOUPE_SIZE  
      protected double tx  
      protected double ty  
      protected double userScaleMultiplier  
      • 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

      Constructors 
      Constructor Description
      AbstractViewer()  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      java.awt.Color getBackground()
      If current background is a color, returns it; otherwise returns default color.
      java.awt.Paint getBackgroundPaint()  
      protected abstract java.awt.image.BufferedImage getCurrentImage()
      Returns the current image to be drawn in the viewer.
      protected java.awt.Paint getDefaultBackgroundPaint()  
      boolean getShowZoomLevel()  
      protected void paintComponent​(java.awt.Graphics g1)  
      protected void paintLoupe​(java.awt.Graphics2D g, java.awt.image.BufferedImage currentImage, double imX, double imY, double imWidth, double imHeight)  
      protected void paintZoomLabel​(java.awt.Graphics2D g, double scale)  
      void setBackground​(java.awt.Color c)
      void setBackgroundPaint​(java.awt.Paint p)  
      void setEnabled​(boolean enable)  
      void setShowZoomLevel​(boolean show)  
      void setTranslation​(double tx, double ty)  
      • 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, 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, 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, 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, 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
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • userScaleMultiplier

        protected double userScaleMultiplier
      • tx

        protected double tx
      • ty

        protected double ty
      • autoFitToWindow

        protected boolean autoFitToWindow
      • borderInsets

        protected java.awt.Insets borderInsets
      • MINIMUM_LOUPE_SIZE

        protected static int MINIMUM_LOUPE_SIZE
      • MAXIMUM_LOUPE_SIZE

        protected static int MAXIMUM_LOUPE_SIZE
      • loupeColors

        protected java.awt.Color[] loupeColors
      • loupeStrokes

        protected java.awt.Stroke[] loupeStrokes
      • labelFont

        protected java.awt.Font labelFont
    • Constructor Detail

      • AbstractViewer

        public AbstractViewer()
    • Method Detail

      • setBackground

        public void setBackground​(java.awt.Color c)
        Overrides:
        setBackground in class javax.swing.JComponent
        Parameters:
        c - the new background color
      • getBackground

        public java.awt.Color getBackground()
        If current background is a color, returns it; otherwise returns default color. Use getBackgroundPaint() instead.
        Overrides:
        getBackground in class java.awt.Component
      • getDefaultBackgroundPaint

        protected java.awt.Paint getDefaultBackgroundPaint()
      • getBackgroundPaint

        public java.awt.Paint getBackgroundPaint()
      • setBackgroundPaint

        public void setBackgroundPaint​(java.awt.Paint p)
      • setShowZoomLevel

        public void setShowZoomLevel​(boolean show)
      • getShowZoomLevel

        public boolean getShowZoomLevel()
      • setTranslation

        public void setTranslation​(double tx,
                                   double ty)
      • getCurrentImage

        protected abstract java.awt.image.BufferedImage getCurrentImage()
        Returns the current image to be drawn in the viewer.
        Returns:
        the image the viewer should display
      • paintComponent

        protected void paintComponent​(java.awt.Graphics g1)
        Overrides:
        paintComponent in class javax.swing.JComponent
      • paintLoupe

        protected void paintLoupe​(java.awt.Graphics2D g,
                                  java.awt.image.BufferedImage currentImage,
                                  double imX,
                                  double imY,
                                  double imWidth,
                                  double imHeight)
      • paintZoomLabel

        protected void paintZoomLabel​(java.awt.Graphics2D g,
                                      double scale)
      • setEnabled

        public void setEnabled​(boolean enable)
        Overrides:
        setEnabled in class javax.swing.JComponent