Package adams.gui.tools
Class ImageProcessorSubPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- adams.gui.core.BasePanel
-
- adams.gui.tools.ImageProcessorSubPanel
-
- All Implemented Interfaces:
CleanUpHandler
,ImageObserver
,MenuContainer
,Serializable
,Accessible
public class ImageProcessorSubPanel extends BasePanel implements CleanUpHandler
A panel with three panes: original image, processed image and flow for processing.- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ImageProcessorSubPanel.ImagePopupMenuProvider
Custom popup menu provider for theImagePanel
instances.static class
ImageProcessorSubPanel.LayoutType
The type of layout to use.-
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
Fields Modifier and Type Field Description protected ImageProcessorSubPanel.LayoutType
m_LayoutType
the layout.protected ImageProcessorMultiPagePane
m_Owner
the owner.protected ImagePanel
m_PanelOriginal
the original image.protected ImagePanel
m_PanelProcessed
the processed image.protected BaseSplitPane
m_SplitImages
the splitpane for the images.-
Fields inherited from class adams.gui.core.BasePanel
m_FileChooser
-
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 ImageProcessorSubPanel(ImageProcessorMultiPagePane owner)
Initializes the panel with a vertical layout.ImageProcessorSubPanel(ImageProcessorMultiPagePane owner, ImageProcessorSubPanel.LayoutType layout)
Initializes the panel.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addImageOverlay(boolean original, ImageOverlay overlay)
Adds the overlay.void
cleanUp()
Cleans up data structures, frees up memory.void
clearImageOverlays(boolean original)
Removes all overlays.File
getCurrentFile()
Returns the current filename.FlowPanel
getFlowPanel()
Returns the flow panel.ImageProcessorSubPanel.LayoutType
getLayoutType()
Returns the layout in use.ImagePanel
getOriginal()
Returns the panel for the original image.ImagePanel
getProcessed()
Returns the panel for the original image.Iterator<ImageOverlay>
imageOverlays(boolean original)
Returns iterator over current overlays.protected void
initGUI()
Initializes the widgets.protected void
initialize()
Initializes the members.boolean
load(File file)
Opens the file.boolean
load(File file, ImageReader reader)
Opens the file with the specified image reader.void
locateObjects(boolean original, AbstractObjectLocator locator)
Uses the specified object locator.String
runFlow()
Runs the flow.void
setLayoutType(ImageProcessorSubPanel.LayoutType value)
Sets the layout to use.void
setScale(boolean original, double value)
Sets the scaling factor (0-16).protected void
updateLayout()
Updates the layout based on the currentImageProcessorSubPanel.LayoutType
.-
Methods inherited from class adams.gui.core.BasePanel
afterHide, afterShow, beforeHide, beforeShow, closeParent, finishInit, getParentChild, getParentDialog, getParentFrame, getParentInternalFrame, getParentTitle, initFileChooser, main, printErrorMessage, printException, saveComponent, setEnabledCascade, setEnabledCascade, setParentTitle, setVisible
-
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, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, 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, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, 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 Detail
-
m_Owner
protected ImageProcessorMultiPagePane m_Owner
the owner.
-
m_LayoutType
protected ImageProcessorSubPanel.LayoutType m_LayoutType
the layout.
-
m_PanelOriginal
protected ImagePanel m_PanelOriginal
the original image.
-
m_PanelProcessed
protected ImagePanel m_PanelProcessed
the processed image.
-
m_SplitImages
protected BaseSplitPane m_SplitImages
the splitpane for the images.
-
-
Constructor Detail
-
ImageProcessorSubPanel
public ImageProcessorSubPanel(ImageProcessorMultiPagePane owner)
Initializes the panel with a vertical layout.- Parameters:
owner
- the owner
-
ImageProcessorSubPanel
public ImageProcessorSubPanel(ImageProcessorMultiPagePane owner, ImageProcessorSubPanel.LayoutType layout)
Initializes the panel.- Parameters:
owner
- the ownerlayout
- the layout to use
-
-
Method Detail
-
initialize
protected void initialize()
Initializes the members.- Overrides:
initialize
in classBasePanel
-
updateLayout
protected void updateLayout()
Updates the layout based on the currentImageProcessorSubPanel.LayoutType
.- See Also:
m_LayoutType
-
setLayoutType
public void setLayoutType(ImageProcessorSubPanel.LayoutType value)
Sets the layout to use.- Parameters:
value
- the layout
-
getLayoutType
public ImageProcessorSubPanel.LayoutType getLayoutType()
Returns the layout in use.- Returns:
- the layout
-
getOriginal
public ImagePanel getOriginal()
Returns the panel for the original image.- Returns:
- the panel
-
getProcessed
public ImagePanel getProcessed()
Returns the panel for the original image.- Returns:
- the panel
-
load
public boolean load(File file)
Opens the file.- Parameters:
file
- the file to open- Returns:
- true if successfully read
-
load
public boolean load(File file, ImageReader reader)
Opens the file with the specified image reader.- Parameters:
file
- the file to openreader
- the reader to use, null for auto-detection- Returns:
- true if successfully read
-
getCurrentFile
public File getCurrentFile()
Returns the current filename.- Returns:
- the current filename, can be null
-
getFlowPanel
public FlowPanel getFlowPanel()
Returns the flow panel.- Returns:
- the panel
-
runFlow
public String runFlow()
Runs the flow.- Returns:
- null if successful, otherwise error message
-
addImageOverlay
public void addImageOverlay(boolean original, ImageOverlay overlay)
Adds the overlay.- Parameters:
original
- whether to add the overlay in the original image or the processed one
-
clearImageOverlays
public void clearImageOverlays(boolean original)
Removes all overlays.- Parameters:
original
- whether to clear the overlays in the original image or the processed one
-
imageOverlays
public Iterator<ImageOverlay> imageOverlays(boolean original)
Returns iterator over current overlays.- Parameters:
original
- whether to locate objects in the original image or the processed one- Returns:
- the iterator
-
locateObjects
public void locateObjects(boolean original, AbstractObjectLocator locator)
Uses the specified object locator.- Parameters:
original
- whether to locate objects in the original image or the processed onelocator
- the locator to use
-
setScale
public void setScale(boolean original, double value)
Sets the scaling factor (0-16). Use -1 to fit inside panel.- Parameters:
original
- if true setting the scale for the original, otherwise for the processed imagevalue
- the scaling factor
-
cleanUp
public void cleanUp()
Cleans up data structures, frees up memory.- Specified by:
cleanUp
in interfaceCleanUpHandler
-
-