Class SimpleClockFrame

  • All Implemented Interfaces:
    java.awt.event.ComponentListener, java.awt.event.WindowListener, 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, BeanInterface, ModifiedFlag, WindowInterface

    public class SimpleClockFrame
    extends JmriJFrame
    implements java.beans.PropertyChangeListener
    Frame for user configuration of Simple Timebase.

    The current implementation (2007) handles the internal clock and one hardware clock.

    See Also:
    Serialized Form
    • Nested Class Summary

      • 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
      protected javax.swing.JComboBox<java.lang.String> clockStartBox  
      protected javax.swing.JLabel clockStatus  
      protected javax.swing.JCheckBox correctCheckBox  
      protected javax.swing.JCheckBox displayCheckBox  
      protected javax.swing.JCheckBox displayStartStopButton  
      protected javax.swing.JButton doneButton  
      protected javax.swing.JTextField factorField  
      protected javax.swing.JTextField hoursField  
      protected javax.swing.JTextField minutesField  
      protected javax.swing.JButton setRateButton  
      protected javax.swing.JButton setTimeButton  
      protected boolean showTime  
      protected javax.swing.JButton startButton  
      protected javax.swing.JTextField startFactorField  
      protected javax.swing.JTextField startHoursField  
      protected javax.swing.JTextField startMinutesField  
      protected javax.swing.JComboBox<java.lang.String> startRunBox  
      protected javax.swing.JCheckBox startSetRateCheckBox  
      protected javax.swing.JCheckBox startSetTimeCheckBox  
      protected javax.swing.JButton stopButton  
      protected javax.swing.JCheckBox synchronizeCheckBox  
      protected javax.swing.JLabel timeLabel  
      protected javax.swing.JComboBox<java.lang.String> timeSourceBox  
      • 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
    • Constructor Summary

      Constructors 
      Constructor Description
      SimpleClockFrame()
      Constructor method.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void dispose()
      When window is finally destroyed, remove it from the list of windows.
      void doneButtonActionPerformed​(java.awt.event.ActionEvent e)
      Handle Done button.
      java.lang.String getClassDescription()
      Get the class description for the UserMessagePreferencesPane.
      protected java.lang.String getClassName()  
      protected void handleModified()
      Handle closing a window or quiting the program while the modified bit was set.
      void initComponents()
      Initialize the Clock config window.
      (package private) java.lang.Double parseRate​(java.lang.String fieldEntry)
      Converts a user-entered rate to a double, possibly throwing up warning dialogs.
      void propertyChange​(java.beans.PropertyChangeEvent event)
      Handle a change to clock properties.
      void setMessagePreferencesDetails()
      Set the item details for the UserMessagePreferencesPane.
      void setRateButtonActionPerformed​(java.awt.event.ActionEvent ev)
      Handle Set Rate button.
      void setTimeButtonActionPerformed​(java.awt.event.ActionEvent ex)
      Handle Set Time button.
      (package private) void setTimeLabel()
      Set the current Timebase time into timeLabel
      void startButtonActionPerformed​(java.awt.event.ActionEvent e)
      Handle Start Clock button
      void stopButtonActionPerformed​(java.awt.event.ActionEvent e)
      Handle Stop Clock button.
      (package private) void updateRunningButton()
      Adjust to running state changes
      (package private) void updateTime()
      Update clock state information
      void windowClosing​(java.awt.event.WindowEvent e)
      If data changed, prompt to store.
      • 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, 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, 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, setVisible, 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, getMinimumSize, getMousePosition, 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
    • Method Detail

      • parseRate

        @CheckForNull
        java.lang.Double parseRate​(java.lang.String fieldEntry)
        Converts a user-entered rate to a double, possibly throwing up warning dialogs.
        Parameters:
        fieldEntry - value from text field where the user entered a rate.
        Returns:
        null if the rate could not be parsed, negative, or an unsupported fraction. Otherwise the fraction value.
      • setRateButtonActionPerformed

        public void setRateButtonActionPerformed​(java.awt.event.ActionEvent ev)
        Handle Set Rate button.
        Parameters:
        ev - unused
      • setTimeButtonActionPerformed

        public void setTimeButtonActionPerformed​(java.awt.event.ActionEvent ex)
        Handle Set Time button.
        Parameters:
        ex - unused
      • startButtonActionPerformed

        public void startButtonActionPerformed​(java.awt.event.ActionEvent e)
        Handle Start Clock button
        Parameters:
        e - unused
      • stopButtonActionPerformed

        public void stopButtonActionPerformed​(java.awt.event.ActionEvent e)
        Handle Stop Clock button.
        Parameters:
        e - unused
      • updateTime

        void updateTime()
        Update clock state information
      • setTimeLabel

        void setTimeLabel()
        Set the current Timebase time into timeLabel
      • propertyChange

        public void propertyChange​(java.beans.PropertyChangeEvent event)
        Handle a change to clock properties.
        Specified by:
        propertyChange in interface java.beans.PropertyChangeListener
      • doneButtonActionPerformed

        public void doneButtonActionPerformed​(java.awt.event.ActionEvent e)
        Handle Done button.
        Parameters:
        e - null if a save reminder, not null then from Done button action.
      • getClassDescription

        public java.lang.String getClassDescription()
        Get the class description for the UserMessagePreferencesPane.
        Returns:
        The class description
      • dispose

        public void dispose()
        Description copied from class: JmriJFrame
        When window is finally destroyed, remove it from the list of windows.

        Subclasses that over-ride this method must invoke this implementation with super.dispose() right before returning.

        Specified by:
        dispose in interface WindowInterface
        Overrides:
        dispose in class JmriJFrame