Class JXImagePanel

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.Scrollable, AlphaPaintable, BackgroundPaintable

    @Deprecated
    class JXImagePanel
    extends JXPanel
    Deprecated.
    (pre-1.6.2) use a JXPanel with an ImagePainter; see Issue 988

    A panel that draws an image. The standard mode is to draw the specified image centered and unscaled. The component&s preferred size is based on the image, unless explicitly set by the user.

    Images to be displayed can be set based on URL, Image, etc. This is accomplished by passing in an image loader.

     public class URLImageLoader extends Callable<Image> {
         private URL url;
     
         public URLImageLoader(URL url) {
             url.getClass(); //null check
             this.url = url;
         }
     
         public Image call() throws Exception {
             return ImageIO.read(url);
         }
     }
     
     imagePanel.setImageLoader(new URLImageLoader(url));
     

    This component also supports allowing the user to set the image. If the JXImagePanel is editable, then when the user clicks on the JXImagePanel a FileChooser is shown allowing the user to pick some other image to use within the JXImagePanel.

    TODO In the future, the JXImagePanel will also support tiling of images, scaling, resizing, cropping, segues etc.

    TODO other than the image loading this component can be replicated by a JXPanel with the appropriate Painter. What's the point?

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      private class  JXImagePanel.MouseHandler
      Deprecated.
      Handles click events on the component
      static class  JXImagePanel.Style
      Deprecated.
       
      • 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
      private java.awt.Image defaultImage
      Deprecated.
       
      private boolean editable
      Deprecated.
      If true, then the image can be changed.
      private java.util.concurrent.Callable<java.awt.Image> imageLoader
      Deprecated.
       
      private java.lang.ref.SoftReference<java.awt.Image> img
      Deprecated.
      The image to draw
      private static java.util.logging.Logger LOG
      Deprecated.
       
      private JXImagePanel.MouseHandler mhandler
      Deprecated.
      The mouse handler that is used if the component is editable
      private static java.util.concurrent.ExecutorService service
      Deprecated.
       
      private JXImagePanel.Style style
      Deprecated.
      Specifies how to draw the image, i.e.
      private static java.lang.String TEXT
      Deprecated.
      Text informing the user that clicking on this component will allow them to set the image
      • 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
      JXImagePanel()
      Deprecated.
       
      JXImagePanel​(java.net.URL imageUrl)
      Deprecated.
       
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      java.awt.Image getImage()
      Deprecated.
       
      java.awt.Dimension getPreferredSize()
      Deprecated.
      The old property value in PCE fired by this method might not be always correct!
      JXImagePanel.Style getStyle()
      Deprecated.
       
      boolean isEditable()
      Deprecated.
       
      protected void paintComponent​(java.awt.Graphics g)
      Deprecated.
      Overridden to paint the image on the panel
      void setDefaultImage​(java.awt.Image def)
      Deprecated.
       
      void setEditable​(boolean editable)
      Deprecated.
       
      void setImage​(java.awt.Image image)
      Deprecated.
      Sets the image to use for the background of this panel.
      void setImageLoader​(java.util.concurrent.Callable<java.awt.Image> loadImage)
      Deprecated.
       
      void setStyle​(JXImagePanel.Style s)
      Deprecated.
      Sets what style to use when painting the image
      • 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, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, 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, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, 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, 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, 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

      • LOG

        private static final java.util.logging.Logger LOG
        Deprecated.
      • TEXT

        private static final java.lang.String TEXT
        Deprecated.
        Text informing the user that clicking on this component will allow them to set the image
        See Also:
        Constant Field Values
      • img

        private java.lang.ref.SoftReference<java.awt.Image> img
        Deprecated.
        The image to draw
      • editable

        private boolean editable
        Deprecated.
        If true, then the image can be changed. Perhaps a better name is "readOnly", but editable was chosen to be more consistent with other Swing components.
      • mhandler

        private JXImagePanel.MouseHandler mhandler
        Deprecated.
        The mouse handler that is used if the component is editable
      • style

        private JXImagePanel.Style style
        Deprecated.
        Specifies how to draw the image, i.e. what kind of Style to use when drawing
      • defaultImage

        private java.awt.Image defaultImage
        Deprecated.
      • imageLoader

        private java.util.concurrent.Callable<java.awt.Image> imageLoader
        Deprecated.
      • service

        private static final java.util.concurrent.ExecutorService service
        Deprecated.
    • Constructor Detail

      • JXImagePanel

        public JXImagePanel()
        Deprecated.
      • JXImagePanel

        public JXImagePanel​(java.net.URL imageUrl)
        Deprecated.
    • Method Detail

      • setImage

        public void setImage​(java.awt.Image image)
        Deprecated.
        Sets the image to use for the background of this panel. This image is painted whether the panel is opaque or translucent.
        Parameters:
        image - if null, clears the image. Otherwise, this will set the image to be painted. If the preferred size has not been explicitly set, then the image dimensions will alter the preferred size of the panel.
      • getImage

        public java.awt.Image getImage()
        Deprecated.
        Returns:
        the image used for painting the background of this panel
      • setEditable

        public void setEditable​(boolean editable)
        Deprecated.
        Parameters:
        editable -
      • isEditable

        public boolean isEditable()
        Deprecated.
        Returns:
        whether the image for this panel can be changed or not via the UI. setImage may still be called, even if isEditable returns false.
      • setStyle

        public void setStyle​(JXImagePanel.Style s)
        Deprecated.
        Sets what style to use when painting the image
        Parameters:
        s -
      • getStyle

        public JXImagePanel.Style getStyle()
        Deprecated.
        Returns:
        the Style used for drawing the image (CENTERED, TILED, etc).
      • getPreferredSize

        public java.awt.Dimension getPreferredSize()
        Deprecated.
        The old property value in PCE fired by this method might not be always correct!
        Overrides:
        getPreferredSize in class javax.swing.JComponent
      • paintComponent

        protected void paintComponent​(java.awt.Graphics g)
        Deprecated.
        Overridden to paint the image on the panel
        Overrides:
        paintComponent in class JXPanel
        Parameters:
        g -
      • setDefaultImage

        public void setDefaultImage​(java.awt.Image def)
        Deprecated.
      • setImageLoader

        public void setImageLoader​(java.util.concurrent.Callable<java.awt.Image> loadImage)
        Deprecated.