Class ViewJFrameRegisteredImages

  • All Implemented Interfaces:
    java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.ChangeListener, javax.swing.event.ListSelectionListener, javax.swing.RootPaneContainer, javax.swing.WindowConstants

    public class ViewJFrameRegisteredImages
    extends javax.swing.JFrame
    implements java.awt.event.ActionListener, javax.swing.event.ListSelectionListener, javax.swing.event.ChangeListener
    Contains a seperatly running thread which checks the list of registered images. The list is updated at a rate which is user-specified. The frame will allow the user to adjust how frequently the list will be updated. For efficiency, no updating will occur if the frame has been minimized.

    The registered images frame provides direct user access to the function Runtime.getRuntime.gc() via a "Garbage Collector" button.

    There are a number of possible supported uses. There is an unimplemented button to remove un-framed images from the ViewUserInterface image hashtable and there is a button to bring framed-images to the front.

    This class has a number of inside classes:

    • ImageRegistryMonitor (a type of Thread) to update the list of images registered with the ViewUserInterface
    • MouseClickAdapter (a type of MouseAdapter) to attempt to bring the selected image's frame to the front
    • ImageCellRenderer (a type of JLabel) to present both the image-name and a helpful icon depicting whether or not the associated image is in a frame or not
    Version:
    15 April 2002
    Author:
    Lynne M. Pusanik, Matthew J. McAuliffe, Ph.D., David A. Parsons
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      private class  ViewJFrameRegisteredImages.ImageCellRenderer
      Identifies components that can be used as "rubber stamps" to paint the cells in a JList.
      private class  ViewJFrameRegisteredImages.MouseClickAdapter
      As an extension of MouseAdapter, this class merely responds on clicked list events.
      • Nested classes/interfaces inherited from class javax.swing.JFrame

        javax.swing.JFrame.AccessibleJFrame
      • Nested classes/interfaces inherited from class java.awt.Frame

        java.awt.Frame.AccessibleAWTFrame
      • Nested classes/interfaces inherited from class java.awt.Window

        java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private javax.swing.JButton callFrameDeleteAllButton
      Buttons for dealing with frame deletion.
      private javax.swing.JButton callFrameDeleteButton
      Buttons for dealing with frame deletion.
      private javax.swing.JButton callFrameToFrontButton
      Button for bringing frame to front
      private javax.swing.JButton callGCButton
      Button for dealing with garbage collection
      private javax.swing.JButton callImageDeleteAllButton
      Buttons for dealing with image deletions
      private javax.swing.JButton callImageDeleteButton
      Buttons for dealing with image deletions
      private javax.swing.JList imageList
      The list of images and frames
      private javax.swing.JButton pauseButton
      Button for pausing updating of currently registered images
      private boolean paused
      Whether currently registered images list is updating
      private javax.swing.JTextField sampleRate
      The rate at which to update imageList
      private javax.swing.JScrollPane scrollPane
      The scroll pane containing the image list
      private static long serialVersionUID
      Use serialVersionUID for interoperability.
      private ImageRegistryMonitor surf
      thread to watch image registry.
      private ViewUserInterface UI
      The current user interface
      • Fields inherited from class javax.swing.JFrame

        accessibleContext, rootPane, rootPaneCheckingEnabled
      • Fields inherited from class java.awt.Frame

        CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
      • Fields inherited from class java.awt.Component

        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
      • Fields inherited from interface javax.swing.WindowConstants

        DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void actionPerformed​(java.awt.event.ActionEvent event)
      Calls various methods based on the user's actions.
      private javax.swing.JPanel buildButtonPanel()  
      private void deleteItem​(java.lang.String name, boolean deleteFrame)
      Deletes the item specified by name.
      private void imageToFront​(java.lang.String selectedName)
      Using the supplied name as the image name, this method finds the frame associated with the image and brings it to the front.
      protected void makeNumericsOnly​(javax.swing.JTextField txt)
      Takes a txt field, and forces the textfield to accept numbers, backspace and delete-key entries.
      void setVisible​(boolean flag)
      Shows the frame with the memory.
      void stateChanged​(javax.swing.event.ChangeEvent event)
      Calls various methods based on the changes in the memory panel.
      void valueChanged​(javax.swing.event.ListSelectionEvent event)
      Whenever the list changes, the valueChanged is called.
      • Methods inherited from class javax.swing.JFrame

        addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
      • Methods inherited from class java.awt.Frame

        addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
      • Methods inherited from class java.awt.Window

        addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, show, toBack, toFront
      • Methods inherited from class java.awt.Container

        add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.awt.MenuContainer

        getFont, postEvent
    • Field Detail

      • serialVersionUID

        private static final long serialVersionUID
        Use serialVersionUID for interoperability.
        See Also:
        Constant Field Values
      • callImageDeleteButton

        private javax.swing.JButton callImageDeleteButton
        Buttons for dealing with image deletions
      • callImageDeleteAllButton

        private javax.swing.JButton callImageDeleteAllButton
        Buttons for dealing with image deletions
      • callGCButton

        private javax.swing.JButton callGCButton
        Button for dealing with garbage collection
      • callFrameToFrontButton

        private javax.swing.JButton callFrameToFrontButton
        Button for bringing frame to front
      • callFrameDeleteButton

        private javax.swing.JButton callFrameDeleteButton
        Buttons for dealing with frame deletion.
      • callFrameDeleteAllButton

        private javax.swing.JButton callFrameDeleteAllButton
        Buttons for dealing with frame deletion.
      • imageList

        private javax.swing.JList imageList
        The list of images and frames
      • pauseButton

        private javax.swing.JButton pauseButton
        Button for pausing updating of currently registered images
      • paused

        private boolean paused
        Whether currently registered images list is updating
      • sampleRate

        private javax.swing.JTextField sampleRate
        The rate at which to update imageList
      • scrollPane

        private javax.swing.JScrollPane scrollPane
        The scroll pane containing the image list
    • Constructor Detail

      • ViewJFrameRegisteredImages

        public ViewJFrameRegisteredImages()
        Constructor.
    • Method Detail

      • buildButtonPanel

        private javax.swing.JPanel buildButtonPanel()
      • actionPerformed

        public void actionPerformed​(java.awt.event.ActionEvent event)
        Calls various methods based on the user's actions.
        Specified by:
        actionPerformed in interface java.awt.event.ActionListener
        Parameters:
        event - event that triggered function
      • deleteItem

        private void deleteItem​(java.lang.String name,
                                boolean deleteFrame)
        Deletes the item specified by name. If false, only the model image is deleted
        Parameters:
        name - the object to delete
        deleteFrame - whether the frame should be deleted along with the image
      • setVisible

        public void setVisible​(boolean flag)
        Shows the frame with the memory.
        Overrides:
        setVisible in class java.awt.Window
        Parameters:
        flag - DOCUMENT ME!
      • stateChanged

        public void stateChanged​(javax.swing.event.ChangeEvent event)
        Calls various methods based on the changes in the memory panel.
        Specified by:
        stateChanged in interface javax.swing.event.ChangeListener
        Parameters:
        event - event that triggered function
      • valueChanged

        public void valueChanged​(javax.swing.event.ListSelectionEvent event)
        Whenever the list changes, the valueChanged is called.

        calls callToFrontbutton#doClick() when the list has been double-clicked, to bring the selected image (and associated frame) to the front.

        Specified by:
        valueChanged in interface javax.swing.event.ListSelectionListener
        Parameters:
        event - DOCUMENT ME!
      • makeNumericsOnly

        protected void makeNumericsOnly​(javax.swing.JTextField txt)
        Takes a txt field, and forces the textfield to accept numbers, backspace and delete-key entries.

        also tells the pauseButton to click.

        Parameters:
        txt - DOCUMENT ME!
      • imageToFront

        private void imageToFront​(java.lang.String selectedName)
                           throws java.lang.NullPointerException,
                                  java.lang.IllegalArgumentException
        Using the supplied name as the image name, this method finds the frame associated with the image and brings it to the front. Does nothing when selectedName is null.
        Parameters:
        selectedName - DOCUMENT ME!
        Throws:
        java.lang.NullPointerException - when the selectedName is in the image list, but not associated with any frame.
        java.lang.IllegalArgumentException - if the selectedName cannot be found in the image list