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 intAPPROVE_OPTIONthe APPROVE option.static intCANCEL_OPTIONthe CANCEL option.protected HashSet<ActionListener>m_ActionListenersthe action listeners.protected AbstractPixelSelectorAction[]m_Actionsthe actions that are available from the popup menu.protected BaseButtonm_ButtonCancelthe Cancel button.protected BaseButtonm_ButtonOKthe OK button.protected AbstractImageContainerm_Imagethe current image container.protected ImagePanelm_ImagePanelthe image panel.protected Hashtable<Class,Object>m_LastActionResultthe last action result for a selector action.protected JMenuBarm_MenuBarthe menu bar.protected ReportFactory.Tablem_ReportTablethe report table.protected intm_Resultthe result (ok or cancel).protected BaseSplitPanem_SplitPanethe 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 voidaddActionListener(ActionListener l)Adds a listener for button actions.voidaddImageOverlay(ImageOverlay io)Adds the image overlay.voidcleanUp()Cleans up data structures, frees up memory.voidclearImageOverlays()Removes all image overlays.protected voidcloseDialog(int result)Closes the dialog.protected voideditOverlays()Edits the current overlays.AbstractPixelSelectorAction[]getActions()Returns the available popup actions.BasePopupMenugetCustomPopupMenu(MouseEvent e)Creates a popup menu for the given mouse event.AbstractImageContainergetImage()Returns the current image.ObjectgetLastActionResult(Class cls)Retrieves the previous result for the specified action if available.JMenuBargetMenuBar()Creates a menu bar (singleton per panel object).intgetResult()Returns the current result.intgetSplitterPosition()Returns the current location of the splitter/divider.booleanhasImage()Checks whether an image is currently displayed.booleanhasLastActionResult(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 voidinitGUI()Initializes the widgets.protected voidinitialize()Initializes the members.protected voidnotifyActionListeners(int button)Notifies all the action listeners.voidremoveActionListener(ActionListener l)Removes a listener for button actions.voidremoveImageOverlay(ImageOverlay io)Removes the image overlay.voidsetActions(AbstractPixelSelectorAction[] value)Sets the available popup actions.voidsetImage(AbstractImageContainer value)Sets the image.voidsetLastActionResult(Class cls, Object value)Stores the result for the specified action.voidsetSplitterPosition(int value)Sets the location of the splitter/divider.voidtableChanged(TableModelEvent e)Whenever the data in the report changes.voidupdate()Updates the report/image.voidupdateImage()Updates the image.voidupdateReport()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:
initializein 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:
getCustomPopupMenuin 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:
getMenuBarin 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:
tableChangedin interfaceTableModelListener- Parameters:
e- the table event- See Also:
updateImage()
-
cleanUp
public void cleanUp()
Cleans up data structures, frees up memory.- Specified by:
cleanUpin interfaceCleanUpHandler
-
-