cz.zcu.fav.kiv.jsim.gui
Class JSimMainWindow

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjava.awt.Window
              extended byjava.awt.Frame
                  extended byjavax.swing.JFrame
                      extended bycz.zcu.fav.kiv.jsim.gui.JSimMainWindow
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants

public class JSimMainWindow
extends javax.swing.JFrame

The JSimMainWindow class provides services for graphic output. You should never use this class directly since the JSimSimulation class contains methods for running in graphic mode.

Since:
J-Sim version 0.1.1
Version:
J-Sim version 0.3.0
Author:
Pavel DOMECKÝ, Jarda KAČER
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
static int LIST_TYPE_PROCESS
           
static int LIST_TYPE_QUEUE
           
static int LIST_TYPE_SEMAPHORE
           
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, 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 javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
JSimMainWindow(JSimSimulation simulation, int simMode)
          Creates a new main window with several buttons, input fields and a text area.
 
Method Summary
 boolean getPausePressed()
          Returns true if the 'Pause' button has been pressed.
 boolean getQuitPressed()
          Returns true if the 'Quit' button has been pressed.
 JSimSimulation getSimulation()
          Returns the simulation object to which this window belongs to.
 void printString(java.lang.String s, int code, boolean appendNewLine)
          Prints out a string to the user text area at the bottom of the window.
 void removeDisplayableFromOpenInfoWindows(JSimDisplayable jsd)
          When a detailed info window shuts up, it should invoke its main window's removeDisplayableFromInfoWindows() method in order to inform it that its displayable object is no longer showing.
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setIconImage, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationRelativeTo, 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, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setFocusTraversalKeys, setFocusTraversalPolicy, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, checkImage, checkImage, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, 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, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

LIST_TYPE_PROCESS

public static final int LIST_TYPE_PROCESS
See Also:
Constant Field Values

LIST_TYPE_QUEUE

public static final int LIST_TYPE_QUEUE
See Also:
Constant Field Values

LIST_TYPE_SEMAPHORE

public static final int LIST_TYPE_SEMAPHORE
See Also:
Constant Field Values
Constructor Detail

JSimMainWindow

public JSimMainWindow(JSimSimulation simulation,
                      int simMode)
               throws JSimSimulationAlreadyTerminatedException,
                      JSimInvalidParametersException
Creates a new main window with several buttons, input fields and a text area. Appearance of the window depends on the simulation's mode.

Parameters:
simulation - The simulation object that owns this newly created window. It must not be null.
simMode - The mode in which the simulation runs, design of the window depends on it.
Throws:
JSimSimulationAlreadyTerminatedException - This exception is thrown out if the simulation has already terminated.
JSimInvalidParametersException - This exception is thrown out if the simulation is null or one of its locks cannot be obtained.
Method Detail

getSimulation

public JSimSimulation getSimulation()
Returns the simulation object to which this window belongs to.

Returns:
The simulation object to which this window belongs to.

getQuitPressed

public final boolean getQuitPressed()
Returns true if the 'Quit' button has been pressed.

Returns:
True if the 'Quit' button has been pressed, false otherwise.

getPausePressed

public final boolean getPausePressed()
Returns true if the 'Pause' button has been pressed.

Returns:
True if the 'Pause' button has been pressed, false otherwise.

printString

public void printString(java.lang.String s,
                        int code,
                        boolean appendNewLine)
Prints out a string to the user text area at the bottom of the window.

Parameters:
s - The string to be printed out.
code - A code saying whether it is an info message (PRN_MESSAGE) or an error message (PRN_ERROR).
appendNewLine - A flag indicating that the new line character should be appended to the text.

removeDisplayableFromOpenInfoWindows

public void removeDisplayableFromOpenInfoWindows(JSimDisplayable jsd)
When a detailed info window shuts up, it should invoke its main window's removeDisplayableFromInfoWindows() method in order to inform it that its displayable object is no longer showing. This will allow the main window to open a new detailed info window in the future if the user requests it.

Parameters:
jsd - The JSimDisplayable object whose detailed info window is just shutting up.