Class ProbeImageSwingJFrame
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Frame
-
- javax.swing.JFrame
-
- fr.univ_artois.lgi2a.similar.microkernel.libs.probes.ProbeImageSwingJFrame
-
- All Implemented Interfaces:
IProbe
,ImageObserver
,MenuContainer
,Serializable
,Accessible
,RootPaneContainer
,WindowConstants
public class ProbeImageSwingJFrame extends JFrame implements IProbe
This probe prints the content of the simulation in aJFrame
, using an image defined in aAbstractProbeImageSwingJPanel
probe.- Author:
- Yoann Kubera
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ProbeImageSwingJFrame.ClosingManagementStrategy
Defines the various strategies to the reaction of the application when the user requests the closure of the frame.-
Nested classes/interfaces inherited from class javax.swing.JFrame
JFrame.AccessibleJFrame
-
Nested classes/interfaces inherited from class java.awt.Frame
Frame.AccessibleAWTFrame
-
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow, Window.Type
-
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.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 ProbeImageSwingJFrame(String frameTitle, AbstractProbeImageSwingJPanel simulationPainter)
Builds the frame where the simulation is being printed on screen using a swing image.ProbeImageSwingJFrame(String frameTitle, AbstractProbeImageSwingJPanel simulationPainter, ProbeImageSwingJFrame.ClosingManagementStrategy closureStrategy, Dimension preferredDimensions)
Builds the frame where the simulation is being printed on screen using a swing image.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
endObservation()
Ends the observation of a simulation.void
observeAtFinalTime(SimulationTimeStamp finalTimestamp, ISimulationEngine simulationEngine)
Observes the state of the simulation when the final time stamp of the simulation is reached.void
observeAtInitialTimes(SimulationTimeStamp initialTimestamp, ISimulationEngine simulationEngine)
Observes the state of the simulation when the initial time stamp is reached.void
observeAtPartialConsistentTime(SimulationTimeStamp timestamp, ISimulationEngine simulationEngine)
Observes the state of the simulation when at least one level is in a consistent state.void
prepareObservation()
Prepares the observation of a simulation.void
reactToAbortion(SimulationTimeStamp timestamp, ISimulationEngine simulationEngine)
Reacts to the abortion of a currently running simulation.void
reactToError(String errorMessage, Throwable cause)
Reacts to an error thrown by the simulation engine.-
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, dispose, 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, pack, 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, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, 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
-
-
-
-
Constructor Detail
-
ProbeImageSwingJFrame
public ProbeImageSwingJFrame(String frameTitle, AbstractProbeImageSwingJPanel simulationPainter, ProbeImageSwingJFrame.ClosingManagementStrategy closureStrategy, Dimension preferredDimensions)
Builds the frame where the simulation is being printed on screen using a swing image. This frame ensures that its content matches the provided preferred dimensions.- Parameters:
frameTitle
- The title of the frame being displayed on screen.simulationPainter
- The object building the image of the simulation.closureStrategy
- Defines what to do when the frame is closed by the user.preferredDimensions
- Either the dimensions of the content of the frame ornull
if the frame is automatically resized.- Throws:
IllegalArgumentException
- if eitherframeTitle
orsimulationPainter
arenull
.
-
ProbeImageSwingJFrame
public ProbeImageSwingJFrame(String frameTitle, AbstractProbeImageSwingJPanel simulationPainter)
Builds the frame where the simulation is being printed on screen using a swing image. This frame ensures that its content is resized automatically. When this frame is closed, the application will still wait for the simulation to end before stopping the program.- Parameters:
frameTitle
- The title of the frame being displayed on screen.simulationPainter
- The object building the image of the simulation.- Throws:
IllegalArgumentException
- if eitherframeTitle
orsimulationPainter
arenull
.
-
-
Method Detail
-
prepareObservation
public void prepareObservation()
Prepares the observation of a simulation.This method is defined to open the streams or the other resources used during the observation of one simulation.
- Specified by:
prepareObservation
in interfaceIProbe
-
observeAtInitialTimes
public void observeAtInitialTimes(SimulationTimeStamp initialTimestamp, ISimulationEngine simulationEngine)
Observes the state of the simulation when the initial time stamp is reached.- Specified by:
observeAtInitialTimes
in interfaceIProbe
- Parameters:
initialTimestamp
- The initial time stamp of the simulation.simulationEngine
- The simulation engine embedding the currently running simulation and the current dynamic state of the various levels of the simulation.
-
observeAtPartialConsistentTime
public void observeAtPartialConsistentTime(SimulationTimeStamp timestamp, ISimulationEngine simulationEngine)
Observes the state of the simulation when at least one level is in a consistent state.- Specified by:
observeAtPartialConsistentTime
in interfaceIProbe
- Parameters:
timestamp
- The time stamp for which at least one level of the simulation is a consistent state.simulationEngine
- The simulation engine embedding the currently running simulation and the current dynamic state of the various levels of the simulation.
-
observeAtFinalTime
public void observeAtFinalTime(SimulationTimeStamp finalTimestamp, ISimulationEngine simulationEngine)
Observes the state of the simulation when the final time stamp of the simulation is reached.- Specified by:
observeAtFinalTime
in interfaceIProbe
- Parameters:
finalTimestamp
- The final time stamp of the simulation.simulationEngine
- The simulation engine embedding the currently running simulation and the current dynamic state of the various levels of the simulation.
-
reactToError
public void reactToError(String errorMessage, Throwable cause)
Reacts to an error thrown by the simulation engine.- Specified by:
reactToError
in interfaceIProbe
cause
- The cause of the error.
-
reactToAbortion
public void reactToAbortion(SimulationTimeStamp timestamp, ISimulationEngine simulationEngine)
Reacts to the abortion of a currently running simulation.- Specified by:
reactToAbortion
in interfaceIProbe
- Parameters:
timestamp
- The time stamp reached right after the moment when the abortion was requested.simulationEngine
- The simulation engine embedding the aborted simulation and the dynamic state of the various levels of the simulation after abortion.
-
endObservation
public void endObservation()
Ends the observation of a simulation.This method is defined to close the streams or the other resources used during the observation of one simulation.
- Specified by:
endObservation
in interfaceIProbe
-
-