Package jmri.jmrix.loconet.locogen
Class LocoGenPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- jmri.util.swing.JmriPanel
-
- jmri.jmrix.loconet.swing.LnPanel
-
- jmri.jmrix.loconet.locogen.LocoGenPanel
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,java.util.EventListener
,javax.accessibility.Accessible
,LocoNetListener
,LnPanelInterface
public class LocoGenPanel extends LnPanel implements LocoNetListener
User interface for sending LocoNet messages to exercise the system.When sending a sequence of operations:
- Send the next message
- Wait until you hear the echo, then start a timer
- When the timer trips, repeat if buttons still down.
- See Also:
CanSendPane
, Serialized Form
-
-
Nested Class Summary
-
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
-
-
Field Summary
Fields Modifier and Type Field Description (package private) javax.swing.JLabel
jLabel1
(package private) static int
MAXSEQUENCE
(package private) javax.swing.JTextField[]
mDelayField
(package private) LocoNetMessage
mNextEcho
(package private) int
mNextSequenceElement
(package private) javax.swing.JTextField[]
mPacketField
(package private) javax.swing.JToggleButton
mRunButton
(package private) javax.swing.JCheckBox[]
mUseField
(package private) javax.swing.JTextField
packetTextField
(package private) javax.swing.JButton
sendButton
(package private) javax.swing.Timer
timer
-
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
-
-
Constructor Summary
Constructors Constructor Description LocoGenPanel()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) LocoNetMessage
createPacket(java.lang.String s)
Create a well-formed LocoNet packet from a String.void
dispose()
When the window closes, stop any sequences runningjava.lang.String
getHelpTarget()
Provide a help target string which an enclosing frame can provide as a help reference.java.lang.String
getTitle()
Provide a recommended title for an enclosing frame.void
initComponents()
2nd stage of initialization, invoked after the constructor is complete.void
initComponents(LocoNetSystemConnectionMemo memo)
2nd stage of initialization, invoked after the constructor is complete.void
message(LocoNetMessage m)
Member function that will be invoked by a LocoNetInterface implementation to forward a LocoNet message from the layout.protected void
restartTimer(int delay)
Internal routine to handle timer starts and restartsvoid
runButtonActionPerformed(java.awt.event.ActionEvent e)
Run button pressed down, start the sequence operation.void
sendButtonActionPerformed(java.awt.event.ActionEvent e)
(package private) void
sendNextItem()
Send next item; may be used for the first item or when a delay has elapsed.(package private) void
startSequenceDelay()
Echo has been heard, start delay for next packet-
Methods inherited from class jmri.jmrix.loconet.swing.LnPanel
getTitle, getTitleHelper, initContext
-
Methods inherited from class jmri.util.swing.JmriPanel
getMenus, getMinimumDimension, getWindowInterface, isMultipleInstances, setWindowInterface
-
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
-
-
-
-
Field Detail
-
jLabel1
javax.swing.JLabel jLabel1
-
sendButton
javax.swing.JButton sendButton
-
packetTextField
javax.swing.JTextField packetTextField
-
MAXSEQUENCE
static final int MAXSEQUENCE
- See Also:
- Constant Field Values
-
mPacketField
javax.swing.JTextField[] mPacketField
-
mUseField
javax.swing.JCheckBox[] mUseField
-
mDelayField
javax.swing.JTextField[] mDelayField
-
mRunButton
javax.swing.JToggleButton mRunButton
-
mNextSequenceElement
int mNextSequenceElement
-
mNextEcho
LocoNetMessage mNextEcho
-
timer
javax.swing.Timer timer
-
-
Constructor Detail
-
LocoGenPanel
public LocoGenPanel()
-
-
Method Detail
-
getHelpTarget
public java.lang.String getHelpTarget()
Provide a help target string which an enclosing frame can provide as a help reference.This automatically provides a reference to the usual place for JMRI window-specific help pages that are named for the implementing class, but note this is a Pane class, not a Frame class.
- Overrides:
getHelpTarget
in classJmriPanel
- Returns:
- the target String
-
getTitle
public java.lang.String getTitle()
Provide a recommended title for an enclosing frame.
-
initComponents
public void initComponents()
2nd stage of initialization, invoked after the constructor is complete.- Overrides:
initComponents
in classJmriPanel
-
initComponents
public void initComponents(LocoNetSystemConnectionMemo memo)
2nd stage of initialization, invoked after the constructor is complete.This needs to be connected to the initContext() method in implementing classes.
- Specified by:
initComponents
in interfaceLnPanelInterface
- Overrides:
initComponents
in classLnPanel
- Parameters:
memo
- aLocoNetSystemConnectionMemo
object
-
sendButtonActionPerformed
public void sendButtonActionPerformed(java.awt.event.ActionEvent e)
-
restartTimer
protected void restartTimer(int delay)
Internal routine to handle timer starts and restarts- Parameters:
delay
- in mSec
-
runButtonActionPerformed
public void runButtonActionPerformed(java.awt.event.ActionEvent e)
Run button pressed down, start the sequence operation.- Parameters:
e
- aActionEvent
to be triggered
-
message
public void message(LocoNetMessage m)
Member function that will be invoked by a LocoNetInterface implementation to forward a LocoNet message from the layout.- Specified by:
message
in interfaceLocoNetListener
- Parameters:
m
- The received LocoNet message. Note that this same object may be presented to multiple users. It should not be modified here.
-
startSequenceDelay
void startSequenceDelay()
Echo has been heard, start delay for next packet
-
sendNextItem
void sendNextItem()
Send next item; may be used for the first item or when a delay has elapsed.
-
createPacket
LocoNetMessage createPacket(java.lang.String s)
Create a well-formed LocoNet packet from a String.Well-formed generally means a space-separated string of hex values of two characters each, as defined in
StringUtil.bytesFromHexString(String s)
.- Parameters:
s
- a string containing raw hex data of good form- Returns:
- The packet, with contents filled-in
-
-