- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Frame
-
- javax.swing.JFrame
-
- org.jorigin.swing.JImageFrame
-
- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable,Accessible,RootPaneContainer,WindowConstants
public class JImageFrame extends JFrame
Aswing componentthat enables to displayimagesby embedding aJImagePanel.This frame provides various operations on the view (zoom, moving, ...) and helper methods for correspondence between image space and display space.
This underlying image panel also manages
featuresthat enable to display interactive overlays on the panel.- Since:
- 1.0.0
- Version:
- "1.0.14" - b202111241200L
- Author:
- Julien SEINTURIER - Université de Toulon / CNRS LIS umr 7020 - github.com/jorigin/jcommon (contact@jorigin.org)
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JFrame
JFrame.AccessibleJFrame
-
Nested classes/interfaces inherited from class java.awt.Frame
Frame.AccessibleAWTFrame
-
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow, Window.Type
-
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
-
Field Summary
-
Fields inherited from class javax.swing.JFrame
accessibleContext, rootPane, rootPaneCheckingEnabled
-
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
-
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
-
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
-
-
Constructor Summary
Constructors Constructor Description JImageFrame()Create a new frame dedicated to image display.JImageFrame(BufferedImage image)Create a new frame that displays the givenimage.JImageFrame(String title, Dimension size, BufferedImage image)Create a new frame that displays the givenimage.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidfit()Fit the actual view to display the whole image.BufferedImagegetImage()Get theimagethat is displayed within the frame.List<JImageFeature>getImageFeatures(String layer)Get theimage featuresthat are attached to the underlyingimage panel.protected voidinitGUI()Initialization of the Graphical User Interface components.booleanisAutoFit()Get if the underlying image panel fits the view when its resized.booleanisLayerDisplayed(String layer)Get if thelayeris actually displaying within the underlyingimage panel.protected voidrefreshGUI()Refresh of the Graphical User Interface components.voidsetAutoFit(boolean autoFit)Set if the underlying image panel has to fit the view when its resized.voidsetImage(BufferedImage image)Set theimageto display within the frame.voidsetImageFeatures(String layer, List<JImageFeature> features)Set theimage featuresto attach to the underlyingimage panel.voidsetLayerDisplayed(String layer, boolean displayed)Set if thelayerhas to be displayed within the underlyingimage panel.static voidshowImageFrame(String title, Dimension size, Point location, BufferedImage image, boolean autoFit)Create and display an image frame.-
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
-
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
-
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
-
-
-
-
Constructor Detail
-
JImageFrame
public JImageFrame()
Create a new frame dedicated to image display.
-
JImageFrame
public JImageFrame(BufferedImage image)
Create a new frame that displays the givenimage.- Parameters:
image- the image to display.
-
JImageFrame
public JImageFrame(String title, Dimension size, BufferedImage image)
Create a new frame that displays the givenimage.- Parameters:
title- the title of the frame.size- the size of the frame in pixels.image- the image to display.
-
-
Method Detail
-
showImageFrame
public static void showImageFrame(String title, Dimension size, Point location, BufferedImage image, boolean autoFit)
Create and display an image frame.- Parameters:
title- the title of the frame.size- the size (width × height) of the frame in pixels.location- the location (x, y) of the frame on the display.image- the image to display.autoFit-trueif the frame has to fit the view when resized andfalseotherwise.
-
initGUI
protected void initGUI()
Initialization of the Graphical User Interface components.
-
refreshGUI
protected void refreshGUI()
Refresh of the Graphical User Interface components.
-
getImage
public BufferedImage getImage()
Get theimagethat is displayed within the frame.- Returns:
- the image that is displayed within the frame.
- See Also:
setImage(BufferedImage)
-
setImage
public void setImage(BufferedImage image)
Set theimageto display within the frame.- Parameters:
image- the image to display within the frame.- See Also:
getImage()
-
getImageFeatures
public List<JImageFeature> getImageFeatures(String layer)
Get theimage featuresthat are attached to the underlyingimage panel. If the layer does not exist, it is created. In this case, the layer will not be displayed until a call tosetLayerDisplayed(layer, true). If the layer exists, all previous existing features are deleted.- Parameters:
layer- the layer that holds the features.- Returns:
- the
image featuresthat are attached to the underlying image panel. - See Also:
setImageFeatures(String, List)
-
setImageFeatures
public void setImageFeatures(String layer, List<JImageFeature> features)
Set theimage featuresto attach to the underlyingimage panel.- Parameters:
layer- the layer that holds the features.features- theimage featuresto attach to the underlyingimage panel.- See Also:
getImageFeatures(String)
-
isLayerDisplayed
public boolean isLayerDisplayed(String layer)
Get if thelayeris actually displaying within the underlyingimage panel.- Parameters:
layer- the layer to check.- Returns:
trueif thelayeris actually displaying andfalseotherwise.- See Also:
setLayerDisplayed(String, boolean)
-
setLayerDisplayed
public void setLayerDisplayed(String layer, boolean displayed)
Set if thelayerhas to be displayed within the underlyingimage panel.- Parameters:
layer- the layer to set.displayed-trueif thelayerhas to be displayed andfalseotherwise.- See Also:
isLayerDisplayed(String)
-
isAutoFit
public boolean isAutoFit()
Get if the underlying image panel fits the view when its resized.- Returns:
trueif the panel fits the view when its resized andfalseotherwise.- See Also:
setAutoFit(boolean),fit()
-
setAutoFit
public void setAutoFit(boolean autoFit)
Set if the underlying image panel has to fit the view when its resized.- Parameters:
autoFit-trueif the panel fits the view when its resized andfalseotherwise.- See Also:
isAutoFit(),fit()
-
fit
public void fit()
Fit the actual view to display the whole image.
-
-