Class JImageFrame

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

    public class JImageFrame
    extends javax.swing.JFrame
    A swing component that enables to display images by embedding a JImagePanel.

    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 features that enable to display interactive overlays on the panel.

    Version:
    "1.0.9" - b201903071030L, 1.0.0
    Author:
    Julien Seinturier - COMEX S.A. - contact@jorigin.org - https://github.com/jorigin/jeometry
    See Also:
    Serialized Form
    • Nested Class Summary

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

        javax.swing.JFrame.AccessibleJFrame
      • Nested classes/interfaces inherited from class java.awt.Frame

        java.awt.Frame.AccessibleAWTFrame
      • Nested classes/interfaces inherited from class java.awt.Window

        java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
      • 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 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​(java.awt.image.BufferedImage image)
      Create a new frame that displays the given image.
      JImageFrame​(java.lang.String title, java.awt.Dimension size, java.awt.image.BufferedImage image)
      Create a new frame that displays the given image.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void fit()
      Fit the actual view to display the whole image.
      java.awt.image.BufferedImage getImage()
      Get the image that is displayed within the frame.
      java.util.List<JImageFeature> getImageFeatures​(java.lang.String layer)
      Get the image features that are attached to the underlying image panel.
      protected void initGUI()
      Initialization of the Graphical User Interface components.
      boolean isAutoFit()
      Get if the underlying image panel fits the view when its resized.
      boolean isLayerDisplayed​(java.lang.String layer)
      Get if the layer is actually displaying within the underlying image panel.
      protected void refreshGUI()
      Refresh of the Graphical User Interface components.
      void setAutoFit​(boolean autoFit)
      Set if the underlying image panel has to fit the view when its resized.
      void setImage​(java.awt.image.BufferedImage image)
      Set the image to display within the frame.
      void setImageFeatures​(java.lang.String layer, java.util.List<JImageFeature> features)
      Set the image features to attach to the underlying image panel.
      void setLayerDisplayed​(java.lang.String layer, boolean displayed)
      Set if the layer has to be displayed within the underlying image panel.
      static void showImageFrame​(java.lang.String title, java.awt.Dimension size, java.awt.Point location, java.awt.image.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​(java.awt.image.BufferedImage image)
        Create a new frame that displays the given image.
        Parameters:
        image - the image to display.
      • JImageFrame

        public JImageFrame​(java.lang.String title,
                           java.awt.Dimension size,
                           java.awt.image.BufferedImage image)
        Create a new frame that displays the given image.
        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​(java.lang.String title,
                                          java.awt.Dimension size,
                                          java.awt.Point location,
                                          java.awt.image.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 - true if the frame has to fit the view when resized and false otherwise.
      • initGUI

        protected void initGUI()
        Initialization of the Graphical User Interface components.
      • refreshGUI

        protected void refreshGUI()
        Refresh of the Graphical User Interface components.
      • getImage

        public java.awt.image.BufferedImage getImage()
        Get the image that is displayed within the frame.
        Returns:
        the image that is displayed within the frame.
        See Also:
        setImage(BufferedImage)
      • setImage

        public void setImage​(java.awt.image.BufferedImage image)
        Set the image to display within the frame.
        Parameters:
        image - the image to display within the frame.
        See Also:
        getImage()
      • isLayerDisplayed

        public boolean isLayerDisplayed​(java.lang.String layer)
        Get if the layer is actually displaying within the underlying image panel.
        Parameters:
        layer - the layer to check.
        Returns:
        true if the layer is actually displaying and false otherwise.
        See Also:
        setLayerDisplayed(String, boolean)
      • setLayerDisplayed

        public void setLayerDisplayed​(java.lang.String layer,
                                      boolean displayed)
        Set if the layer has to be displayed within the underlying image panel.
        Parameters:
        layer - the layer to set.
        displayed - true if the layer has to be displayed and false otherwise.
        See Also:
        isLayerDisplayed(String)
      • isAutoFit

        public boolean isAutoFit()
        Get if the underlying image panel fits the view when its resized.
        Returns:
        true if the panel fits the view when its resized and false otherwise.
        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 - true if the panel fits the view when its resized and false otherwise.
        See Also:
        isAutoFit(), fit()
      • fit

        public void fit()
        Fit the actual view to display the whole image.