Class PixelSelectorPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- adams.gui.core.BasePanel
-
- adams.flow.transformer.pixelselector.PixelSelectorPanel
-
- All Implemented Interfaces:
CleanUpHandler
,CustomPopupMenuProvider
,MenuBarProvider
,ImageObserver
,MenuContainer
,Serializable
,EventListener
,Accessible
,TableModelListener
public class PixelSelectorPanel extends BasePanel implements CustomPopupMenuProvider, CleanUpHandler, TableModelListener, MenuBarProvider
Combines an ImagePanel and a Report table.- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
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 static int
APPROVE_OPTION
the APPROVE option.static int
CANCEL_OPTION
the CANCEL option.protected HashSet<ActionListener>
m_ActionListeners
the action listeners.protected AbstractPixelSelectorAction[]
m_Actions
the actions that are available from the popup menu.protected BaseButton
m_ButtonCancel
the Cancel button.protected BaseButton
m_ButtonOK
the OK button.protected AbstractImageContainer
m_Image
the current image container.protected ImagePanel
m_ImagePanel
the image panel.protected Hashtable<Class,Object>
m_LastActionResult
the last action result for a selector action.protected JMenuBar
m_MenuBar
the menu bar.protected ReportFactory.Table
m_ReportTable
the report table.protected int
m_Result
the result (ok or cancel).protected BaseSplitPane
m_SplitPane
the split pane.-
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 PixelSelectorPanel()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addActionListener(ActionListener l)
Adds a listener for button actions.void
addImageOverlay(ImageOverlay io)
Adds the image overlay.void
cleanUp()
Cleans up data structures, frees up memory.void
clearImageOverlays()
Removes all image overlays.protected void
closeDialog(int result)
Closes the dialog.protected void
editOverlays()
Edits the current overlays.AbstractPixelSelectorAction[]
getActions()
Returns the available popup actions.BasePopupMenu
getCustomPopupMenu(MouseEvent e)
Creates a popup menu for the given mouse event.AbstractImageContainer
getImage()
Returns the current image.Object
getLastActionResult(Class cls)
Retrieves the previous result for the specified action if available.JMenuBar
getMenuBar()
Creates a menu bar (singleton per panel object).int
getResult()
Returns the current result.int
getSplitterPosition()
Returns the current location of the splitter/divider.boolean
hasImage()
Checks whether an image is currently displayed.boolean
hasLastActionResult(Class cls)
Checks for the specified action whether a previous result is available.Iterator<ImageOverlay>
imageOverlays()
Returns an iterator over all the image overlays.protected void
initGUI()
Initializes the widgets.protected void
initialize()
Initializes the members.protected void
notifyActionListeners(int button)
Notifies all the action listeners.void
removeActionListener(ActionListener l)
Removes a listener for button actions.void
removeImageOverlay(ImageOverlay io)
Removes the image overlay.void
setActions(AbstractPixelSelectorAction[] value)
Sets the available popup actions.void
setImage(AbstractImageContainer value)
Sets the image.void
setLastActionResult(Class cls, Object value)
Stores the result for the specified action.void
setSplitterPosition(int value)
Sets the location of the splitter/divider.void
tableChanged(TableModelEvent e)
Whenever the data in the report changes.void
update()
Updates the report/image.void
updateImage()
Updates the image.void
updateReport()
Updates the report.-
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
-
CANCEL_OPTION
public static final int CANCEL_OPTION
the CANCEL option.- See Also:
- Constant Field Values
-
APPROVE_OPTION
public static final int APPROVE_OPTION
the APPROVE option.- See Also:
- Constant Field Values
-
m_Image
protected AbstractImageContainer m_Image
the current image container.
-
m_SplitPane
protected BaseSplitPane m_SplitPane
the split pane.
-
m_ImagePanel
protected ImagePanel m_ImagePanel
the image panel.
-
m_ReportTable
protected ReportFactory.Table m_ReportTable
the report table.
-
m_ButtonOK
protected BaseButton m_ButtonOK
the OK button.
-
m_ButtonCancel
protected BaseButton m_ButtonCancel
the Cancel button.
-
m_Result
protected int m_Result
the result (ok or cancel).
-
m_ActionListeners
protected HashSet<ActionListener> m_ActionListeners
the action listeners.
-
m_Actions
protected AbstractPixelSelectorAction[] m_Actions
the actions that are available from the popup menu.
-
m_MenuBar
protected JMenuBar m_MenuBar
the menu bar.
-
-
Method Detail
-
initialize
protected void initialize()
Initializes the members.- Overrides:
initialize
in classBasePanel
-
setSplitterPosition
public void setSplitterPosition(int value)
Sets the location of the splitter/divider.- Parameters:
value
- the position in pixels
-
getSplitterPosition
public int getSplitterPosition()
Returns the current location of the splitter/divider.- Returns:
- the position in pixels
-
setActions
public void setActions(AbstractPixelSelectorAction[] value)
Sets the available popup actions.- Parameters:
value
- the actions
-
getActions
public AbstractPixelSelectorAction[] getActions()
Returns the available popup actions.- Returns:
- the actions
-
setImage
public void setImage(AbstractImageContainer value)
Sets the image.- Parameters:
value
- the image
-
hasImage
public boolean hasImage()
Checks whether an image is currently displayed.- Returns:
- true if an image is available
-
getImage
public AbstractImageContainer getImage()
Returns the current image.- Returns:
- the image, null if none set
-
addActionListener
public void addActionListener(ActionListener l)
Adds a listener for button actions.- Parameters:
l
- the lister to add
-
removeActionListener
public void removeActionListener(ActionListener l)
Removes a listener for button actions.- Parameters:
l
- the lister to remove
-
notifyActionListeners
protected void notifyActionListeners(int button)
Notifies all the action listeners.- Parameters:
button
- the button that triggered this event (OK/Cancel)
-
clearImageOverlays
public void clearImageOverlays()
Removes all image overlays.
-
addImageOverlay
public void addImageOverlay(ImageOverlay io)
Adds the image overlay.- Parameters:
io
- the image overlay to add
-
removeImageOverlay
public void removeImageOverlay(ImageOverlay io)
Removes the image overlay.- Parameters:
io
- the image overlay to remove
-
imageOverlays
public Iterator<ImageOverlay> imageOverlays()
Returns an iterator over all the image overlays.- Returns:
- iterator on image overlays
-
closeDialog
protected void closeDialog(int result)
Closes the dialog.- Parameters:
result
- whether successful or not- See Also:
APPROVE_OPTION
,CANCEL_OPTION
-
editOverlays
protected void editOverlays()
Edits the current overlays.
-
hasLastActionResult
public boolean hasLastActionResult(Class cls)
Checks for the specified action whether a previous result is available.- Parameters:
cls
- the action class to check- Returns:
- true if a previous result is available
-
setLastActionResult
public void setLastActionResult(Class cls, Object value)
Stores the result for the specified action.- Parameters:
cls
- the action class to store the result forvalue
- the action result, null removes the association
-
getLastActionResult
public Object getLastActionResult(Class cls)
Retrieves the previous result for the specified action if available.- Parameters:
cls
- the action class to get the result for- Returns:
- the result or null if not available
-
getResult
public int getResult()
Returns the current result.- Returns:
- the user action
- See Also:
APPROVE_OPTION
,CANCEL_OPTION
-
getCustomPopupMenu
public BasePopupMenu getCustomPopupMenu(MouseEvent e)
Creates a popup menu for the given mouse event.- Specified by:
getCustomPopupMenu
in interfaceCustomPopupMenuProvider
- Parameters:
e
- the event that triggered the request- Returns:
- the menu, null if none was generated
-
getMenuBar
public JMenuBar getMenuBar()
Creates a menu bar (singleton per panel object). Can be used in frames.- Specified by:
getMenuBar
in interfaceMenuBarProvider
- Returns:
- the menu bar
-
updateReport
public void updateReport()
Updates the report.
-
updateImage
public void updateImage()
Updates the image.
-
update
public void update()
Updates the report/image.
-
tableChanged
public void tableChanged(TableModelEvent e)
Whenever the data in the report changes.- Specified by:
tableChanged
in interfaceTableModelListener
- Parameters:
e
- the table event- See Also:
updateImage()
-
cleanUp
public void cleanUp()
Cleans up data structures, frees up memory.- Specified by:
cleanUp
in interfaceCleanUpHandler
-
-