Package ca.cgjennings.apps.arkham
Class AbstractViewer
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- ca.cgjennings.apps.arkham.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.JPanelAn 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
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanautoFitToWindowprotected java.awt.InsetsborderInsetsprotected java.awt.FontlabelFontprotected java.awt.Color[]loupeColorsprotected java.awt.Stroke[]loupeStrokesprotected static intMAXIMUM_LOUPE_SIZEprotected static intMINIMUM_LOUPE_SIZEprotected doubletxprotected doubletyprotected doubleuserScaleMultiplier-
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
-
-
Constructor Summary
Constructors Constructor Description AbstractViewer()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description java.awt.ColorgetBackground()If current background is a color, returns it; otherwise returns default color.java.awt.PaintgetBackgroundPaint()protected abstract java.awt.image.BufferedImagegetCurrentImage()Returns the current image to be drawn in the viewer.protected java.awt.PaintgetDefaultBackgroundPaint()booleangetShowZoomLevel()protected voidpaintComponent(java.awt.Graphics g1)protected voidpaintLoupe(java.awt.Graphics2D g, java.awt.image.BufferedImage currentImage, double imX, double imY, double imWidth, double imHeight)protected voidpaintZoomLabel(java.awt.Graphics2D g, double scale)voidsetBackground(java.awt.Color c)Forwards tosetBackgroundPaint(java.awt.Paint).voidsetBackgroundPaint(java.awt.Paint p)voidsetEnabled(boolean enable)voidsetShowZoomLevel(boolean show)voidsetTranslation(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
-
-
-
-
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
-
-
Method Detail
-
setBackground
public void setBackground(java.awt.Color c)
Forwards tosetBackgroundPaint(java.awt.Paint).- Overrides:
setBackgroundin classjavax.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. UsegetBackgroundPaint()instead.- Overrides:
getBackgroundin classjava.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:
paintComponentin classjavax.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:
setEnabledin classjavax.swing.JComponent
-
-