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 classImageProcessorSubPanel.ImagePopupMenuProviderCustom popup menu provider for theImagePanelinstances.static classImageProcessorSubPanel.LayoutTypeThe 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.LayoutTypem_LayoutTypethe layout.protected ImageProcessorMultiPagePanem_Ownerthe owner.protected ImagePanelm_PanelOriginalthe original image.protected ImagePanelm_PanelProcessedthe processed image.protected BaseSplitPanem_SplitImagesthe 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 voidaddImageOverlay(boolean original, ImageOverlay overlay)Adds the overlay.voidcleanUp()Cleans up data structures, frees up memory.voidclearImageOverlays(boolean original)Removes all overlays.FilegetCurrentFile()Returns the current filename.FlowPanelgetFlowPanel()Returns the flow panel.ImageProcessorSubPanel.LayoutTypegetLayoutType()Returns the layout in use.ImagePanelgetOriginal()Returns the panel for the original image.ImagePanelgetProcessed()Returns the panel for the original image.Iterator<ImageOverlay>imageOverlays(boolean original)Returns iterator over current overlays.protected voidinitGUI()Initializes the widgets.protected voidinitialize()Initializes the members.booleanload(File file)Opens the file.booleanload(File file, ImageReader reader)Opens the file with the specified image reader.voidlocateObjects(boolean original, AbstractObjectLocator locator)Uses the specified object locator.StringrunFlow()Runs the flow.voidsetLayoutType(ImageProcessorSubPanel.LayoutType value)Sets the layout to use.voidsetScale(boolean original, double value)Sets the scaling factor (0-16).protected voidupdateLayout()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:
initializein 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:
cleanUpin interfaceCleanUpHandler
-
-