Class Station
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
jmt.jmch.animation.Station
- All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, GraphicComponent, JobContainer
Class for a station in the animation
- Author:
- Lorenzo Torri Date: 11-mar-2024 Time: 16.29
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
Fields inherited from class JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
ConstructorsConstructorDescriptionStation(AnimationClass anim, JPanel parent, boolean xcentered, boolean ycentered, Point pos, JobContainer next, Simulation sim, int servers, int index) Constructor -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidaddJob(JobContainer prec, Job newJob) Add a new Job to this JobContainerintintintdoubleintintGet the total length of a component when drawnintgetXPos()Return the drawing starting position in the panel of a componentintgetYPos()booleanvoidSet the Step simulation onvoidvoidvoidrefresh()voidRemove the job from the collection, called by the BoxStationvoidSet the Step simulation offvoidOnce the job is processed, then it must be routed to the next JobContainer.voidsetXPos(int xPos) voidsetYPos(int yPos) protected voidtypeOfQueue(Simulation sim) Create the CustomCollection instance, based on the simulation informationvoidupdateCumulativeService(double interArrivalTime) This method is called by the PSSolver.voidupdateNServers(int nservers) voidupdatePause(long pause) Update all the subComponents of Station that are affected by a Pause in the Animator.Methods inherited from class 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, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUI, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, 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, updateUIMethods inherited from class 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 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, getAccessibleContext, 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, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Constructor Details
-
Station
public Station(AnimationClass anim, JPanel parent, boolean xcentered, boolean ycentered, Point pos, JobContainer next, Simulation sim, int servers, int index) Constructor- Parameters:
anim- AnimationClass which the station is part ofparent- , JPanel that contains this stationxcentered- , if the station is x centered with respect to the parentycentered- , if the station is y centered with respect to the parentpos- , position of the station, if it is x-y centered then the respective coordinates are not considerednext- , Jobcontainer connected to this stationsim- , information about the simulationservers- , number of serversindex- , index in the array of stations, 0 if the station is in a single queue animation
-
-
Method Details
-
typeOfQueue
Create the CustomCollection instance, based on the simulation information- Parameters:
sim-
-
paint
- Overrides:
paintin classJComponent
-
refresh
public void refresh()- Specified by:
refreshin interfaceJobContainer
-
updatePause
public void updatePause(long pause) Update all the subComponents of Station that are affected by a Pause in the Animator.- Parameters:
pause- value for which the animator was paused
-
routeJob
Once the job is processed, then it must be routed to the next JobContainer. Can be called both by a CircleStation, but also by a BoxStation if processor sharing is active- Parameters:
job- the job to be routed
-
addJob
Description copied from interface:JobContainerAdd a new Job to this JobContainer- Specified by:
addJobin interfaceJobContainer- Parameters:
newJob- Job to add to this Container
-
removeJob
Remove the job from the collection, called by the BoxStation -
addArrivingJob
public void addArrivingJob() -
getPosition
-
getHeight
public int getHeight()- Overrides:
getHeightin classJComponent
-
getLength
public int getLength() -
getsizeQueue
public int getsizeQueue() -
getNumberWaitingJobs
public int getNumberWaitingJobs() -
getSimulation
-
getNextContainer
-
paintQueueSize
public void paintQueueSize() -
getAnimationClass
-
updateNServers
public void updateNServers(int nservers) -
nextEvent
public void nextEvent()Set the Step simulation on -
resetNextEvent
public void resetNextEvent()Set the Step simulation off -
isProcessorSharing
public boolean isProcessorSharing() -
getProcessorSharingSpeed
public double getProcessorSharingSpeed() -
getXPos
public int getXPos()Description copied from interface:GraphicComponentReturn the drawing starting position in the panel of a component- Specified by:
getXPosin interfaceGraphicComponent
-
getYPos
public int getYPos()- Specified by:
getYPosin interfaceGraphicComponent
-
getTotalLenght
public int getTotalLenght()Description copied from interface:GraphicComponentGet the total length of a component when drawn- Specified by:
getTotalLenghtin interfaceGraphicComponent
-
setYPos
public void setYPos(int yPos) - Specified by:
setYPosin interfaceGraphicComponent
-
setXPos
public void setXPos(int xPos) - Specified by:
setXPosin interfaceGraphicComponent
-
updateCumulativeService
public void updateCumulativeService(double interArrivalTime) This method is called by the PSSolver. With Processor Sharing we need to keep track of the cumulative Service of all the jobs in the queue and in the circleStation- Parameters:
interArrivalTime-
-