Package org.opentrafficsim.swing.gui
Class OTSControlPanel
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
org.opentrafficsim.swing.gui.OTSControlPanel
- All Implemented Interfaces:
java.awt.event.ActionListener,java.awt.event.WindowListener,java.awt.image.ImageObserver,java.awt.MenuContainer,java.beans.PropertyChangeListener,java.io.Serializable,java.util.EventListener,javax.accessibility.Accessible,EventListenerInterface
public class OTSControlPanel extends javax.swing.JPanel implements java.awt.event.ActionListener, java.beans.PropertyChangeListener, java.awt.event.WindowListener, EventListenerInterface
Peter's improved simulation control panel.
Copyright (c) 2013-2020 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.
$LastChangedDate: 2018-10-11 22:54:04 +0200 (Thu, 11 Oct 2018) $, @version $Revision: 4696 $, by $Author: averbraeck $,
initial version 11 dec. 2014
- Author:
- Alexander Verbraeck, Peter Knoppers
- See Also:
- Serialized Form
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classOTSControlPanel.ClockLabelJLabel that displays the simulation time.protected classOTSControlPanel.DisposeOnCloseThreadInstall the dispose on close when the OTSControlPanel is registered as part of a frame.classOTSControlPanel.TimeEditEntry field for time.Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanelNested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent -
Field Summary
Fields Modifier and Type Field Description protected booleancloseHandlerRegisteredHas the window close handler been registered?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 OTSControlPanel(DEVSSimulatorInterface.TimeDoubleUnit simulator, OTSModelInterface model)Decorate a SimpleSimulator with a different set of control buttons. -
Method Summary
Modifier and Type Method Description voidactionPerformed(java.awt.event.ActionEvent actionEvent)voidautoPauseSimulator()Pause the simulator.protected voidfixButtons()Update the enabled state of all the buttons.DEVSSimulator<Time,Duration,SimTimeDoubleUnit>getSimulator()java.awt.FontgetTimeFont()voidinstallWindowCloseHandler()Install a handler for the window closed event that stops the simulator (if it is running).static javax.swing.IconloadGrayscaleIcon(java.lang.String iconPath)Attempt to load and return an icon, which will be made gray-scale.static javax.swing.IconloadIcon(java.lang.String iconPath)Attempt to load and return an icon.voidnotify(EventInterface event)voidpropertyChange(java.beans.PropertyChangeEvent evt)java.lang.StringtoString()voidwindowActivated(java.awt.event.WindowEvent e)voidwindowClosed(java.awt.event.WindowEvent e)voidwindowClosing(java.awt.event.WindowEvent e)voidwindowDeactivated(java.awt.event.WindowEvent e)voidwindowDeiconified(java.awt.event.WindowEvent e)voidwindowIconified(java.awt.event.WindowEvent e)voidwindowOpened(java.awt.event.WindowEvent e)Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIMethods 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, updateMethods 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, validateTreeMethods 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
-
Field Details
-
closeHandlerRegistered
protected boolean closeHandlerRegisteredHas the window close handler been registered?
-
-
Constructor Details
-
OTSControlPanel
public OTSControlPanel(DEVSSimulatorInterface.TimeDoubleUnit simulator, OTSModelInterface model) throws java.rmi.RemoteExceptionDecorate a SimpleSimulator with a different set of control buttons.- Parameters:
simulator- DEVSSimulatorInterface.TimeDoubleUnit; the simulatormodel- OTSModelInterface; if non-null, the restart button should work- Throws:
java.rmi.RemoteException- when simulator cannot be accessed for listener attachment
-
-
Method Details
-
loadIcon
public static final javax.swing.Icon loadIcon(java.lang.String iconPath)Attempt to load and return an icon.- Parameters:
iconPath- String; the path that is used to load the icon- Returns:
- Icon; or null if loading failed
-
loadGrayscaleIcon
public static final javax.swing.Icon loadGrayscaleIcon(java.lang.String iconPath)Attempt to load and return an icon, which will be made gray-scale.- Parameters:
iconPath- String; the path that is used to load the icon- Returns:
- Icon; or null if loading failed
-
installWindowCloseHandler
public final void installWindowCloseHandler()Install a handler for the window closed event that stops the simulator (if it is running). -
actionPerformed
public final void actionPerformed(java.awt.event.ActionEvent actionEvent)- Specified by:
actionPerformedin interfacejava.awt.event.ActionListener
-
fixButtons
protected final void fixButtons()Update the enabled state of all the buttons. -
autoPauseSimulator
public final void autoPauseSimulator()Pause the simulator. -
propertyChange
public final void propertyChange(java.beans.PropertyChangeEvent evt)- Specified by:
propertyChangein interfacejava.beans.PropertyChangeListener
-
getSimulator
- Returns:
- simulator.
-
windowOpened
public void windowOpened(java.awt.event.WindowEvent e)- Specified by:
windowOpenedin interfacejava.awt.event.WindowListener
-
windowClosing
public final void windowClosing(java.awt.event.WindowEvent e)- Specified by:
windowClosingin interfacejava.awt.event.WindowListener
-
windowClosed
public final void windowClosed(java.awt.event.WindowEvent e)- Specified by:
windowClosedin interfacejava.awt.event.WindowListener
-
windowIconified
public final void windowIconified(java.awt.event.WindowEvent e)- Specified by:
windowIconifiedin interfacejava.awt.event.WindowListener
-
windowDeiconified
public final void windowDeiconified(java.awt.event.WindowEvent e)- Specified by:
windowDeiconifiedin interfacejava.awt.event.WindowListener
-
windowActivated
public final void windowActivated(java.awt.event.WindowEvent e)- Specified by:
windowActivatedin interfacejava.awt.event.WindowListener
-
windowDeactivated
public final void windowDeactivated(java.awt.event.WindowEvent e)- Specified by:
windowDeactivatedin interfacejava.awt.event.WindowListener
-
getTimeFont
public final java.awt.Font getTimeFont()- Returns:
- timeFont.
-
notify
- Specified by:
notifyin interfaceEventListenerInterface- Throws:
java.rmi.RemoteException
-
toString
public final java.lang.String toString()- Overrides:
toStringin classjava.awt.Component
-