Class JXImagePanel
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
,Scrollable
,AlphaPaintable
,BackgroundPaintable
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 ClassesModifier and TypeClassDescriptionprivate class
Deprecated.Handles click events on the componentstatic enum
Deprecated.Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
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
FieldsModifier and TypeFieldDescriptionprivate Image
Deprecated.private boolean
Deprecated.If true, then the image can be changed.Deprecated.private SoftReference
<Image> Deprecated.The image to drawprivate static final Logger
Deprecated.private JXImagePanel.MouseHandler
Deprecated.The mouse handler that is used if the component is editableprivate static final ExecutorService
Deprecated.private JXImagePanel.Style
Deprecated.Specifies how to draw the image, i.e.private static final String
Deprecated.Text informing the user that clicking on this component will allow them to set the imageFields inherited from class org.jdesktop.swingx.JXPanel
fakeTransparent
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 -
Method Summary
Modifier and TypeMethodDescriptiongetImage()
Deprecated.Deprecated.The old property value in PCE fired by this method might not be always correct!getStyle()
Deprecated.boolean
Deprecated.protected void
Deprecated.Overridden to paint the image on the panelvoid
setDefaultImage
(Image def) Deprecated.void
setEditable
(boolean editable) Deprecated.void
Deprecated.Sets the image to use for the background of this panel.void
setImageLoader
(Callable<Image> loadImage) Deprecated.void
Deprecated.Sets what style to use when painting the imageMethods inherited from class org.jdesktop.swingx.JXPanel
getAlpha, getBackgroundPainter, getEffectiveAlpha, getPainterChangeListener, getPreferredScrollableViewportSize, getScrollableBlockIncrement, getScrollableHeightHint, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getScrollableWidthHint, installRepaintManager, isAlpha, isInheritAlpha, isOpaque, isOpaquePatch, isPaintBorderInsets, isPaintingBackground, isPaintingOrigin, isPatch, isTransparentBackground, paint, paintComponentPatch, setAlpha, setBackgroundPainter, setInheritAlpha, setOpaque, setOpaquePatch, setPaintBorderInsets, setScrollableHeightHint, setScrollableTracksViewportHeight, setScrollableTracksViewportWidth, setScrollableWidthHint, uninstallRepaintManager
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
-
Field Details
-
LOG
Deprecated. -
TEXT
Deprecated.Text informing the user that clicking on this component will allow them to set the image- See Also:
-
img
Deprecated.The image to draw -
editable
private boolean editableDeprecated.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
Deprecated.The mouse handler that is used if the component is editable -
style
Deprecated.Specifies how to draw the image, i.e. what kind of Style to use when drawing -
defaultImage
Deprecated. -
imageLoader
Deprecated. -
service
Deprecated.
-
-
Constructor Details
-
JXImagePanel
public JXImagePanel()Deprecated. -
JXImagePanel
Deprecated.
-
-
Method Details
-
setImage
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
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
Deprecated.Sets what style to use when painting the image- Parameters:
s
-
-
getStyle
Deprecated.- Returns:
- the Style used for drawing the image (CENTERED, TILED, etc).
-
getPreferredSize
Deprecated.The old property value in PCE fired by this method might not be always correct!- Overrides:
getPreferredSize
in classJComponent
-
paintComponent
Deprecated.Overridden to paint the image on the panel- Overrides:
paintComponent
in classJXPanel
- Parameters:
g
-
-
setDefaultImage
Deprecated. -
setImageLoader
Deprecated.
-