public class ImageDisplay extends javax.swing.JComponent implements Destroyable, PreferenceChangedListener
Modifier and Type | Class and Description |
---|---|
private class |
ImageDisplay.ImgDisplayMouseListener |
private class |
ImageDisplay.LoadImageRunnable
The thread that reads the images.
|
static class |
ImageDisplay.VisRect
Manage the visible rectangle of an image with full bounds stored in init.
|
javax.swing.JComponent.AccessibleJComponent
Modifier and Type | Field and Description |
---|---|
private static BooleanProperty |
AGPIFO_STYLE |
private static BooleanProperty |
BILIN_DOWNSAMP
Use bilinear filtering
|
private static BooleanProperty |
BILIN_UPSAMP |
private static double |
bilinLower |
private static double |
bilinUpper |
private static int |
dragButton |
private ImageEntry |
entry
The file that is currently displayed
|
private boolean |
errorLoading
The image currently displayed
|
private java.awt.Image |
image
The image currently displayed
|
private ImageDisplay.ImgDisplayMouseListener |
imgMouseListener |
private static DoubleProperty |
MAX_ZOOM
Maximum zoom allowed
|
private java.lang.String |
osdText |
private ImageDisplay.VisRect |
selectedRect
When a selection is done, the rectangle of the selection (in image coordinates)
|
private java.awt.MediaTracker |
tracker
The tracker to load the images
|
private ImageDisplay.VisRect |
visibleRect
The rectangle (in image coordinates) of the image that is visible.
|
private static BooleanProperty |
ZOOM_ON_CLICK
Alternative to mouse wheel zoom; esp.
|
private static DoubleProperty |
ZOOM_STEP
Zoom factor when click or wheel zooming
|
private static int |
zoomButton |
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Constructor and Description |
---|
ImageDisplay()
Constructs a new
ImageDisplay . |
Modifier and Type | Method and Description |
---|---|
(package private) static ImageDisplay.VisRect |
calculateDrawImageRectangle(ImageDisplay.VisRect visibleRect,
java.awt.Dimension compSize) |
(package private) static ImageDisplay.VisRect |
calculateDrawImageRectangle(ImageDisplay.VisRect imgRect,
java.awt.Rectangle compRect)
calculateDrawImageRectangle
|
(package private) static java.awt.Point |
comp2imgCoord(ImageDisplay.VisRect visibleRect,
int xComp,
int yComp,
java.awt.Dimension compSize) |
void |
destroy()
Called when the object has been destroyed.
|
(package private) static java.awt.Point |
getCenterImgCoord(java.awt.Rectangle visibleRect) |
(package private) static java.awt.Point |
img2compCoord(ImageDisplay.VisRect visibleRect,
int xImg,
int yImg,
java.awt.Dimension compSize) |
void |
paintComponent(java.awt.Graphics g) |
void |
preferenceChanged(PreferenceChangeEvent e)
Triggered when a preference entry value changes.
|
void |
setImage(ImageEntry entry)
Sets a new source image to be displayed by this
ImageDisplay . |
void |
setOsdText(java.lang.String text)
Sets the On-Screen-Display text.
|
void |
zoomBestFitOrOne()
Make the current image either scale to fit inside this component,
or show a portion of image (1:1), if the image size is larger than
the component size.
|
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, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, 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, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
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, 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, 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
private ImageEntry entry
private transient java.awt.Image image
private boolean errorLoading
private ImageDisplay.VisRect visibleRect
private ImageDisplay.VisRect selectedRect
private final java.awt.MediaTracker tracker
private final ImageDisplay.ImgDisplayMouseListener imgMouseListener
private java.lang.String osdText
private static final BooleanProperty AGPIFO_STYLE
private static int dragButton
private static int zoomButton
private static final BooleanProperty ZOOM_ON_CLICK
private static final DoubleProperty ZOOM_STEP
private static final DoubleProperty MAX_ZOOM
private static final BooleanProperty BILIN_DOWNSAMP
private static final BooleanProperty BILIN_UPSAMP
private static double bilinUpper
private static double bilinLower
public ImageDisplay()
ImageDisplay
.public void preferenceChanged(PreferenceChangeEvent e)
PreferenceChangedListener
preferenceChanged
in interface PreferenceChangedListener
e
- the preference change eventpublic void destroy()
Destroyable
destroy
in interface Destroyable
public void setImage(ImageEntry entry)
ImageDisplay
.entry
- new source imagepublic void setOsdText(java.lang.String text)
text
- text to display on top of the imagepublic void paintComponent(java.awt.Graphics g)
paintComponent
in class javax.swing.JComponent
static java.awt.Point img2compCoord(ImageDisplay.VisRect visibleRect, int xImg, int yImg, java.awt.Dimension compSize)
static java.awt.Point comp2imgCoord(ImageDisplay.VisRect visibleRect, int xComp, int yComp, java.awt.Dimension compSize)
static java.awt.Point getCenterImgCoord(java.awt.Rectangle visibleRect)
static ImageDisplay.VisRect calculateDrawImageRectangle(ImageDisplay.VisRect visibleRect, java.awt.Dimension compSize)
static ImageDisplay.VisRect calculateDrawImageRectangle(ImageDisplay.VisRect imgRect, java.awt.Rectangle compRect)
imgRect
- the part of the image that should be drawn (in image coordinates)compRect
- the part of the component where the image should be drawn (in component coordinates)public void zoomBestFitOrOne()