Class IconAdder

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.ListSelectionListener
    Direct Known Subclasses:
    MultiSensorIconAdder, SlipIconAdder

    public class IconAdder
    extends javax.swing.JPanel
    implements javax.swing.event.ListSelectionListener
    Provides a simple editor for selecting N NamedIcons. Class for Icon Editors implements "Drag n Drop". Allows drops from icons dragged from a Catalog preview pane.

    See SensorIcon for an item that might want to have that type of information, and PanelEditor for an example of how to use this.

    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      (package private) class  IconAdder.DropButton  
      • Nested classes/interfaces inherited from class javax.swing.JPanel

        javax.swing.JPanel.AccessibleJPanel
      • Nested classes/interfaces inherited from class javax.swing.JComponent

        javax.swing.JComponent.AccessibleJComponent
      • 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
      (package private) javax.swing.JButton _addButton  
      (package private) CatalogTreeNode _defaultIcons  
      (package private) java.util.HashMap<java.lang.String,​javax.swing.JToggleButton> _iconMap  
      (package private) java.util.ArrayList<java.lang.String> _iconOrderList  
      (package private) javax.swing.JPanel _iconPanel  
      protected javax.swing.JTextField _sysNameText  
      (package private) javax.swing.JTable _table  
      (package private) boolean _update  
      (package private) static int STRUT_SIZE  
      • 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
      IconAdder()  
      IconAdder​(boolean allowDeletes)  
      IconAdder​(java.lang.String type)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void addAdditionalButtons​(javax.swing.JPanel p)  
      void addCatalog()  
      void addDirectoryToCatalog()  
      boolean addIconIsEnabled()  
      (package private) void addToTable()  
      (package private) void closeCatalog()  
      void complete​(java.awt.event.ActionListener addIconAction, boolean changeIcon, boolean addToTable, boolean update)  
      void dispose()
      Clean up when its time to make it all go away
      protected void doIconPanel()  
      CatalogTreeNode getDefaultIconNode()  
      NamedIcon getIcon​(java.lang.String key)
      Get a new NamedIcon object for your own use.
      java.util.Hashtable<java.lang.String,​NamedIcon> getIconMap()
      Get a new Hashtable of only the icons selected for display.
      int getNumIcons()  
      NamedBean getTableSelection()
      Used by Panel Editor to make the final installation of the icon(s) into the user's Panel.
      void initDefaultIcons()  
      void makeIconPanel​(boolean useDefaults)
      After all the calls to setIcon(...) are made, make the icon display.
      protected void makeIcons​(CatalogTreeNode n)
      Build iconMap and orderArray from user's choice of defaults.
      (package private) void pack()  
      void reset()  
      void setIcon​(int order, java.lang.String label, java.lang.String name)
      Install the icons used to represent all the states of the entity being edited.
      protected void setIcon​(int order, java.lang.String label, NamedIcon icon)  
      void setParent​(javax.swing.JFrame parent)  
      void setPickList​(PickListModel<? extends NamedBean> tableModel)
      After the calls to makeIconPanel(), optionally make a pick list table for managed elements.
      void setSelection​(NamedBean bean)  
      void valueChanged​(javax.swing.event.ListSelectionEvent e)
      When a Pick list is installed, table selection controls the Add button.
      • 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, setVisible, 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
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • IconAdder

        public IconAdder​(boolean allowDeletes)
      • IconAdder

        public IconAdder​(java.lang.String type)
    • Method Detail

      • reset

        public void reset()
      • makeIcons

        protected void makeIcons​(CatalogTreeNode n)
        Build iconMap and orderArray from user's choice of defaults.
        Parameters:
        n - the root in a catalog from which icons are made
      • setIcon

        protected void setIcon​(int order,
                               java.lang.String label,
                               NamedIcon icon)
        Parameters:
        order - the index to icon's name and the inverse order that icons are drawn in doIconPanel()
        label - the icon name displayed in the icon panel and the key to the icon button in _iconMap, supplied as I18N string
        icon - the icon displayed in the icon button
      • setIcon

        public void setIcon​(int order,
                            java.lang.String label,
                            java.lang.String name)
        Install the icons used to represent all the states of the entity being edited.
        Parameters:
        order - (reverse) order of display, (0 last, to N first)
        label - the state name to display. Must be unique from all other calls to this method
        name - the resource name of the icon image to display
      • setParent

        public void setParent​(javax.swing.JFrame parent)
      • makeIconPanel

        public void makeIconPanel​(boolean useDefaults)
        After all the calls to setIcon(...) are made, make the icon display. Two columns to save space for subsequent panels.
        Parameters:
        useDefaults - true to use user-specified defaults; false otherwise
      • setPickList

        public void setPickList​(PickListModel<? extends NamedBean> tableModel)
        After the calls to makeIconPanel(), optionally make a pick list table for managed elements. (Not all Icon Editors use pick lists).
        Parameters:
        tableModel - the model from which the table is created
      • valueChanged

        public void valueChanged​(javax.swing.event.ListSelectionEvent e)
        When a Pick list is installed, table selection controls the Add button.
        Specified by:
        valueChanged in interface javax.swing.event.ListSelectionListener
      • getTableSelection

        public NamedBean getTableSelection()
        Used by Panel Editor to make the final installation of the icon(s) into the user's Panel.

        Note! the selection is cleared. When two successive calls are made, the 2nd will always return null, regardless of the 1st return.

        Returns:
        the selected item
      • getIcon

        public NamedIcon getIcon​(java.lang.String key)
        Get a new NamedIcon object for your own use.
        Parameters:
        key - Name of key (label)
        Returns:
        Unique object
      • getIconMap

        public java.util.Hashtable<java.lang.String,​NamedIcongetIconMap()
        Get a new Hashtable of only the icons selected for display.
        Returns:
        a map of icons using the icon labels as keys
      • complete

        public void complete​(java.awt.event.ActionListener addIconAction,
                             boolean changeIcon,
                             boolean addToTable,
                             boolean update)
      • dispose

        public void dispose()
        Clean up when its time to make it all go away