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:
ActionListener
,WindowListener
,ImageObserver
,MenuContainer
,PropertyChangeListener
,Serializable
,EventListener
,Accessible
,EventListenerInterface
public class OTSControlPanel extends JPanel implements ActionListener, PropertyChangeListener, WindowListener, EventListenerInterface
Peter's improved simulation control panel.Copyright (c) 2013-2022 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 class
OTSControlPanel.ClockLabel
JLabel that displays the simulation time.protected class
OTSControlPanel.DisposeOnCloseThread
Install the dispose on close when the OTSControlPanel is registered as part of a frame.(package private) static class
OTSControlPanel.RegexFormatter
Extension of a DefaultFormatter that uses a regular expression.class
OTSControlPanel.TimeEdit
Entry field for time.(package private) static class
OTSControlPanel.TimeWarpPanel
JPanel that contains a JSider that uses a logarithmic scale.-
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 Modifier and Type Field Description protected boolean
closeHandlerRegistered
Has 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
-
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 OTSControlPanel(org.opentrafficsim.core.dsol.OTSSimulatorInterface simulator, org.opentrafficsim.core.dsol.OTSModelInterface model, OTSAnimationPanel otsAnimationPanel)
Decorate a SimpleSimulator with a different set of control buttons.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
actionPerformed(ActionEvent actionEvent)
void
autoPauseSimulator()
Pause the simulator.protected void
fixButtons()
Update the enabled state of all the buttons.OTSSearchPanel
getOtsSearchPanel()
Provide access to the search panel.org.opentrafficsim.core.dsol.OTSSimulatorInterface
getSimulator()
Font
getTimeFont()
void
installWindowCloseHandler()
Install a handler for the window closed event that stops the simulator (if it is running).static Icon
loadGrayscaleIcon(String iconPath)
Attempt to load and return an icon, which will be made gray-scale.static Icon
loadIcon(String iconPath)
Attempt to load and return an icon.void
notify(EventInterface event)
void
propertyChange(PropertyChangeEvent evt)
void
setSimulationControlButtons(boolean newState)
Change the enabled/disabled state of the various simulation control buttons.String
toString()
void
windowActivated(WindowEvent e)
void
windowClosed(WindowEvent e)
void
windowClosing(WindowEvent e)
void
windowDeactivated(WindowEvent e)
void
windowDeiconified(WindowEvent e)
void
windowIconified(WindowEvent e)
void
windowOpened(WindowEvent e)
-
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
-
OTSControlPanel
public OTSControlPanel(org.opentrafficsim.core.dsol.OTSSimulatorInterface simulator, org.opentrafficsim.core.dsol.OTSModelInterface model, OTSAnimationPanel otsAnimationPanel) throws RemoteException
Decorate a SimpleSimulator with a different set of control buttons.- Parameters:
simulator
- OTSSimulatorInterface; the simulatormodel
- OTSModelInterface; if non-null, the restart button should workotsAnimationPanel
- OTSAnimationPanel; the OTS animation panel- Throws:
RemoteException
- when simulator cannot be accessed for listener attachment
-
-
Method Detail
-
setSimulationControlButtons
public void setSimulationControlButtons(boolean newState)
Change the enabled/disabled state of the various simulation control buttons.- Parameters:
newState
- boolean; true if the buttons should become enabled; false if the buttons should become disabled
-
getOtsSearchPanel
public OTSSearchPanel getOtsSearchPanel()
Provide access to the search panel.- Returns:
- OTSSearchPanel; the OTS search panel
-
loadIcon
public static final Icon loadIcon(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 Icon loadGrayscaleIcon(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(ActionEvent actionEvent)
- Specified by:
actionPerformed
in interfaceActionListener
-
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(PropertyChangeEvent evt)
- Specified by:
propertyChange
in interfacePropertyChangeListener
-
getSimulator
public final org.opentrafficsim.core.dsol.OTSSimulatorInterface getSimulator()
- Returns:
- simulator.
-
windowOpened
public void windowOpened(WindowEvent e)
- Specified by:
windowOpened
in interfaceWindowListener
-
windowClosing
public final void windowClosing(WindowEvent e)
- Specified by:
windowClosing
in interfaceWindowListener
-
windowClosed
public final void windowClosed(WindowEvent e)
- Specified by:
windowClosed
in interfaceWindowListener
-
windowIconified
public final void windowIconified(WindowEvent e)
- Specified by:
windowIconified
in interfaceWindowListener
-
windowDeiconified
public final void windowDeiconified(WindowEvent e)
- Specified by:
windowDeiconified
in interfaceWindowListener
-
windowActivated
public final void windowActivated(WindowEvent e)
- Specified by:
windowActivated
in interfaceWindowListener
-
windowDeactivated
public final void windowDeactivated(WindowEvent e)
- Specified by:
windowDeactivated
in interfaceWindowListener
-
getTimeFont
public final Font getTimeFont()
- Returns:
- timeFont.
-
notify
public final void notify(EventInterface event) throws RemoteException
- Specified by:
notify
in interfaceEventListenerInterface
- Throws:
RemoteException
-
-