Class RealTimeControlPanel<T extends Number & Comparable<T>,S extends DevsRealTimeAnimator<T>>
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel<T,S>
-
- nl.tudelft.simulation.dsol.swing.gui.control.DevsControlPanel<T,S>
-
- nl.tudelft.simulation.dsol.swing.gui.control.RealTimeControlPanel<T,S>
-
- Type Parameters:
T- the time typeS- the simulator type to use
- All Implemented Interfaces:
ActionListener,WindowListener,ImageObserver,MenuContainer,PropertyChangeListener,Serializable,Remote,EventListener,Accessible,EventListener
- Direct Known Subclasses:
RealTimeControlPanel.TimeDouble,RealTimeControlPanel.TimeDoubleUnit,RealTimeControlPanel.TimeFloat,RealTimeControlPanel.TimeFloatUnit,RealTimeControlPanel.TimeLong
public class RealTimeControlPanel<T extends Number & Comparable<T>,S extends DevsRealTimeAnimator<T>> extends DevsControlPanel<T,S> implements PropertyChangeListener
ControlPanel container for the a DEVS simulator, with clocks for different time units.Copyright (c) 2020-2023 Delft University of Technology, Jaffalaan 5, 2628 BX Delft, the Netherlands. All rights reserved. See for project information DSOL Manual. The DSOL project is distributed under a three-clause BSD-style license, which can be found at DSOL License.
- Author:
- Alexander Verbraeck
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classRealTimeControlPanel.TimeDoubleDEVS Real Time ControlPanel for a Double timeunit.static classRealTimeControlPanel.TimeDoubleUnitDEVS Real Time ControlPanel for a djunits double timeunit.static classRealTimeControlPanel.TimeFloatDEVS Real Time ControlPanel for a Float timeunit.static classRealTimeControlPanel.TimeFloatUnitDEVS Real Time ControlPanel for a djunits float timeunit.static classRealTimeControlPanel.TimeLongDEVS Real Time ControlPanel for a Long timeunit.-
Nested classes/interfaces inherited from class nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel
AbstractControlPanel.DisposeOnCloseThread
-
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
-
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
-
Field Summary
-
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 RealTimeControlPanel(DsolModel<T,? extends DevsSimulatorInterface<T>> model, S simulator)Generic control panel with a different set of control buttons.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidactionPerformed(ActionEvent actionEvent)protected voidfixButtons()Update the enabled state of all the buttons.protected voidinvalidateButtons()Update the state of all the control buttons to represent end-of-run (reset might be available).voidnotify(Event event)voidpropertyChange(PropertyChangeEvent evt)-
Methods inherited from class nl.tudelft.simulation.dsol.swing.gui.control.DevsControlPanel
autoPauseSimulator
-
Methods inherited from class nl.tudelft.simulation.dsol.swing.gui.control.AbstractControlPanel
getClockPanel, getControlButtons, getControlButtonsPanel, getModel, getRunUntilPanel, getSimulator, getSpeedPanel, installWindowCloseHandler, isCloseHandlerRegistered, isControlButtonsEnabled, makeButton, setClockPanel, setCloseHandlerRegistered, setControlButtonsState, setRunUntilPanel, setSpeedPanel, toString, windowActivated, windowClosed, windowClosing, windowDeactivated, windowDeiconified, windowIconified, windowOpened
-
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, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Constructor Detail
-
RealTimeControlPanel
public RealTimeControlPanel(DsolModel<T,? extends DevsSimulatorInterface<T>> model, S simulator) throws RemoteException
Generic control panel with a different set of control buttons. The control panel assumes a RealTimeDevsAnimator and animation, but the model specification is not necessarily specified as "real time"; its execution is.- Parameters:
model- DsolModel<T, ? extends DevsSimulationInterface<T>>; the model for the control panel, to allow a reset of the modelsimulator- S; the simulator. Specified separately, because the model can have been specified with a superclass of the simulator that the ControlPanel actually needs (e.g., model has been specified with a DevsAnimator, whereas the panel needs a RealTimeControlAnimator)- Throws:
RemoteException- when simulator cannot be accessed for listener attachment
-
-
Method Detail
-
actionPerformed
public void actionPerformed(ActionEvent actionEvent)
- Specified by:
actionPerformedin interfaceActionListener- Overrides:
actionPerformedin classDevsControlPanel<T extends Number & Comparable<T>,S extends DevsRealTimeAnimator<T>>
-
fixButtons
protected void fixButtons()
Update the enabled state of all the buttons.- Overrides:
fixButtonsin classDevsControlPanel<T extends Number & Comparable<T>,S extends DevsRealTimeAnimator<T>>
-
invalidateButtons
protected void invalidateButtons()
Update the state of all the control buttons to represent end-of-run (reset might be available).- Overrides:
invalidateButtonsin classDevsControlPanel<T extends Number & Comparable<T>,S extends DevsRealTimeAnimator<T>>
-
propertyChange
public void propertyChange(PropertyChangeEvent evt)
- Specified by:
propertyChangein interfacePropertyChangeListener
-
notify
public void notify(Event event) throws RemoteException
- Specified by:
notifyin interfaceEventListener- Overrides:
notifyin classAbstractControlPanel<T extends Number & Comparable<T>,S extends DevsRealTimeAnimator<T>>- Throws:
RemoteException
-
-