Class AddressPanel

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.PropertyChangeListener, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, ThrottleListener

    public class AddressPanel
    extends javax.swing.JInternalFrame
    implements ThrottleListener, java.beans.PropertyChangeListener
    A JInternalFrame that provides a way for the user to enter a decoder address. This class also store AddressListeners and notifies them when the user enters a new address.
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.JInternalFrame

        javax.swing.JInternalFrame.AccessibleJInternalFrame, javax.swing.JInternalFrame.JDesktopIcon
      • 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 inherited from class javax.swing.JInternalFrame

        closable, CONTENT_PANE_PROPERTY, desktopIcon, FRAME_ICON_PROPERTY, frameIcon, GLASS_PANE_PROPERTY, iconable, IS_CLOSED_PROPERTY, IS_ICON_PROPERTY, IS_MAXIMUM_PROPERTY, IS_SELECTED_PROPERTY, isClosed, isIcon, isMaximum, isSelected, LAYERED_PANE_PROPERTY, maximizable, MENU_BAR_PROPERTY, resizable, ROOT_PANE_PROPERTY, rootPane, rootPaneCheckingEnabled, title, TITLE_PROPERTY
      • 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
      • 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 addAddressListener​(AddressListener l)
      Add an AddressListener.
      (package private) void applyPreferences()  
      void destroy()  
      void dispatchAddress()
      Dispatch the current address for use by other throttles
      DccLocoAddress getConsistAddress()  
      Consist getConsistEntry()
      Get the selected Consist if there's one for this throttle.
      DccLocoAddress getCurrentAddress()  
      DccThrottle getFunctionThrottle()  
      RosterEntry getRosterEntry()
      Get the RosterEntry if there's one for this throttle.
      RosterEntrySelectorPanel getRosterEntrySelector()  
      int getRosterSelectedIndex()
      Gets the selected index of the roster combo box.
      DccThrottle getThrottle()  
      org.jdom2.Element getXml()
      Create an Element of this object's preferences.
      void notifyConsistThrottleFound​(DccThrottle t)
      Get notification that a consist throttle has been found as we requested.
      void notifyDecisionRequired​(LocoAddress address, ThrottleListener.DecisionType question)
      A decision is required for Throttle creation to continue.
      void notifyFailedThrottleRequest​(LocoAddress address, java.lang.String reason)
      Get notification that an attempt to request a throttle has failed.
      void notifyThrottleDisposed()
      Receive notification that an address has been release or dispatched.
      void notifyThrottleFound​(DccThrottle t)
      Get notification that a throttle has been found as we requested.
      protected void openProgrammer()
      Open a programmer for this address
      void propertyChange​(java.beans.PropertyChangeEvent evt)  
      void releaseAddress()
      Release the current address.
      void removeAddressListener​(AddressListener l)
      Remove an AddressListener.
      void selectRosterEntry()
      "Sets" the current roster entry.
      void setAddress​(int number, boolean isLong)
      set the currently used decoder address and initiate a throttle request (same as setCurrentAddress) if a consist address is already set, this address will be used only for functions
      void setBackgroundPanel​(BackgroundPanel bp)  
      void setConsistAddress​(DccLocoAddress consistAddress)
      set the currently used consist address and initiate a throttle request
      void setCurrentAddress​(DccLocoAddress currentAddress)
      set the currently used decoder address and initiate a throttle request if a consist address is already set, this address will be used only for functions
      void setRosterEntry​(RosterEntry entry)
      Set the RosterEntry for this throttle and initiate a throttle request
      void setRosterSelectedIndex​(int index)
      Sets the selected index of the roster combo box.
      void setXml​(org.jdom2.Element e)
      Use the Element passed to initialize based on user prefs.
      • Methods inherited from class javax.swing.JInternalFrame

        addImpl, addInternalFrameListener, createRootPane, dispose, doDefaultCloseAction, fireInternalFrameEvent, getAccessibleContext, getContentPane, getDefaultCloseOperation, getDesktopIcon, getDesktopPane, getFocusCycleRootAncestor, getFocusOwner, getFrameIcon, getGlassPane, getInternalFrameListeners, getJMenuBar, getLastCursor, getLayer, getLayeredPane, getMenuBar, getMostRecentFocusOwner, getNormalBounds, getRootPane, getTitle, getUI, getUIClassID, getWarningString, hide, isClosable, isClosed, isFocusCycleRoot, isIcon, isIconifiable, isMaximizable, isMaximum, isResizable, isRootPaneCheckingEnabled, isSelected, moveToBack, moveToFront, pack, paintComponent, paramString, remove, removeInternalFrameListener, reshape, restoreSubcomponentFocus, setClosable, setClosed, setContentPane, setCursor, setDefaultCloseOperation, setDesktopIcon, setFocusCycleRoot, setFrameIcon, setGlassPane, setIcon, setIconifiable, setJMenuBar, setLayer, setLayer, setLayeredPane, setLayout, setMaximizable, setMaximum, setMenuBar, setNormalBounds, setResizable, setRootPane, setRootPaneCheckingEnabled, setSelected, setTitle, setUI, show, toBack, toFront, 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, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, 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, 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, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, 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, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, 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

      • AddressPanel

        public AddressPanel​(ThrottleManager throttleManager)
        Constructor
        Parameters:
        throttleManager - the throttle manager
    • Method Detail

      • addAddressListener

        public void addAddressListener​(AddressListener l)
        Add an AddressListener. AddressListeners are notified when the user selects a new address and when a Throttle is acquired for that address
        Parameters:
        l - listener to add.
      • getRosterSelectedIndex

        public int getRosterSelectedIndex()
        Gets the selected index of the roster combo box. Implemented to support xboxThrottle.py
        Returns:
        the selected index of the roster combo box
      • setRosterSelectedIndex

        public void setRosterSelectedIndex​(int index)
        Sets the selected index of the roster combo box. Implemented to support xboxThrottle.py This method temporarily disables roster box actions so it can change the selected index without triggering a cascade of events.
        Parameters:
        index - the index to select in the combo box
      • selectRosterEntry

        public void selectRosterEntry()
        "Sets" the current roster entry. Equivalent to the user pressing the "Set" button. Implemented to support xboxThrottle.py
      • notifyConsistThrottleFound

        public void notifyConsistThrottleFound​(DccThrottle t)
        Get notification that a consist throttle has been found as we requested.
        Parameters:
        t - An instantiation of the DccThrottle with the address requested.
      • notifyThrottleDisposed

        public void notifyThrottleDisposed()
        Receive notification that an address has been release or dispatched.
      • getRosterEntry

        public RosterEntry getRosterEntry()
        Get the RosterEntry if there's one for this throttle.
        Returns:
        RosterEntry or null
      • getConsistEntry

        public Consist getConsistEntry()
        Get the selected Consist if there's one for this throttle.
        Returns:
        Consist or null
      • setRosterEntry

        public void setRosterEntry​(RosterEntry entry)
        Set the RosterEntry for this throttle and initiate a throttle request
        Parameters:
        entry - roster entry to set.
      • openProgrammer

        protected void openProgrammer()
        Open a programmer for this address
      • dispatchAddress

        public void dispatchAddress()
        Dispatch the current address for use by other throttles
      • releaseAddress

        public void releaseAddress()
        Release the current address.
      • getXml

        public org.jdom2.Element getXml()
        Create an Element of this object's preferences.
        • Window Preferences
        • Address value
        Returns:
        org.jdom2.Element for this objects preferences. Defined in DTD/throttle-config
      • setXml

        public void setXml​(org.jdom2.Element e)
        Use the Element passed to initialize based on user prefs.
        Parameters:
        e - The Element containing prefs as defined in DTD/throttle-config
      • getThrottle

        public DccThrottle getThrottle()
        Returns:
        the curently assigned motor throttle for regular locomotives or consist
      • setCurrentAddress

        public void setCurrentAddress​(DccLocoAddress currentAddress)
        set the currently used decoder address and initiate a throttle request if a consist address is already set, this address will be used only for functions
        Parameters:
        currentAddress - the address to use
      • setAddress

        public void setAddress​(int number,
                               boolean isLong)
        set the currently used decoder address and initiate a throttle request (same as setCurrentAddress) if a consist address is already set, this address will be used only for functions
        Parameters:
        number - the address
        isLong - long/short (true/false) address
      • setConsistAddress

        public void setConsistAddress​(DccLocoAddress consistAddress)
        set the currently used consist address and initiate a throttle request
        Parameters:
        consistAddress - the consist address to use
      • propertyChange

        public void propertyChange​(java.beans.PropertyChangeEvent evt)
        Specified by:
        propertyChange in interface java.beans.PropertyChangeListener