Package mars.tools
Class DigitalLabSimulator
java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Window
java.awt.Frame
javax.swing.JFrame
mars.tools.AbstractMarsTool
mars.tools.DigitalLabSimulator
- All Implemented Interfaces:
- ImageObserver,- MenuContainer,- Serializable,- EventListener,- Accessible,- RootPaneContainer,- WindowConstants,- Memory.Listener,- MarsTool
Didier Teifreto LIFC Université de franche-Comté www.lifc.univ-fcomte.fr/~teifreto
 didier.teifreto@univ-fcomte.fr
- See Also:
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionclassstatic classstatic classstatic classNested classes/interfaces inherited from class javax.swing.JFrameJFrame.AccessibleJFrameNested classes/interfaces inherited from class java.awt.FrameFrame.AccessibleAWTFrameNested classes/interfaces inherited from class java.awt.WindowWindow.AccessibleAWTWindow, Window.TypeNested classes/interfaces inherited from class java.awt.ContainerContainer.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.ComponentComponent.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
- 
Field SummaryFieldsModifier and TypeFieldDescriptionstatic final intstatic final intFields inherited from class mars.tools.AbstractMarsTooldialogFields inherited from class javax.swing.JFrameaccessibleContext, rootPane, rootPaneCheckingEnabledFields inherited from class java.awt.FrameCROSSHAIR_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_CURSORFields inherited from class java.awt.ComponentBOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserverABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTHFields inherited from interface javax.swing.WindowConstantsDISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprotected JComponentAbstract method that must be instantiated by subclass to build the main display area of the GUI.protected JComponentOverride this method to provide a JComponent (probably a JButton) of your choice to be placed just left of the Close/Exit button.getName()Required MarsTool method to return Tool name.voidmemoryWritten(int address, int length, int value, int wordAddress, int wordValue) Invoked upon any write operation which is relevant to this listener's active range.protected voidreset()Method that will be called each time the default Reset button is clicked.protected voidRegister this tool as a listener of memory and/or registers, if applicable.protected voidUnregister this tool as a listener of memory and/or registers, if applicable.voidupdateHexadecimalKeyboard(int row) voidupdateOneSecondCounter(int value) Methods inherited from class mars.tools.AbstractMarsToolaction, buildButtonArea, buildContentPane, closeTool, handleClose, initializePostGUI, initializePreGUIMethods inherited from class javax.swing.JFrameaddImpl, 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, updateMethods inherited from class java.awt.FrameaddNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecoratedMethods inherited from class java.awt.WindowaddPropertyChangeListener, 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, toFrontMethods inherited from class java.awt.Containeradd, 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, validateTreeMethods inherited from class java.awt.Componentaction, 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, 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, transferFocusUpCycleMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface mars.tools.MarsToolgetIcon, getToolMenuOrderMethods inherited from interface mars.mips.hardware.Memory.ListenermemoryRead, memoryResetMethods inherited from interface java.awt.MenuContainergetFont, postEvent
- 
Field Details- 
EXTERNAL_INTERRUPT_TIMERpublic static final int EXTERNAL_INTERRUPT_TIMER- See Also:
 
- 
EXTERNAL_INTERRUPT_HEXADECIMAL_KEYBOARDpublic static final int EXTERNAL_INTERRUPT_HEXADECIMAL_KEYBOARD- See Also:
 
 
- 
- 
Constructor Details- 
DigitalLabSimulatorpublic DigitalLabSimulator()Construct an instance of this tool. This will be used by theToolManager.
 
- 
- 
Method Details- 
getNameDescription copied from class:AbstractMarsToolRequired MarsTool method to return Tool name. Must be defined by subclass.- Specified by:
- getNamein interface- MarsTool
- Specified by:
- getNamein class- AbstractMarsTool
- Returns:
- Tool name. MARS will display this in menu item.
 
- 
startObservingprotected void startObserving()Description copied from class:AbstractMarsToolRegister this tool as a listener of memory and/or registers, if applicable. This method is called when the tool is opened by the user. Does nothing by default.
- 
stopObservingprotected void stopObserving()Description copied from class:AbstractMarsToolUnregister this tool as a listener of memory and/or registers, if applicable. This method is called when the tool is closed by the user. Does nothing by default.- Overrides:
- stopObservingin class- AbstractMarsTool
- See Also:
 
- 
memoryWrittenpublic void memoryWritten(int address, int length, int value, int wordAddress, int wordValue) Description copied from interface:Memory.ListenerInvoked upon any write operation which is relevant to this listener's active range. Does nothing by default.- Parameters:
- address- The address which was written to.
- length- The number of bytes written. Will always be 1 (single byte),- Memory.BYTES_PER_HALFWORD, or- Memory.BYTES_PER_WORD.
- value- The value which was written.
- wordAddress- The address of the word affected by the operation.
- wordValue- The resulting value of the word.
 
- 
resetprotected void reset()Description copied from class:AbstractMarsToolMethod that will be called each time the default Reset button is clicked. Use it to reset any data structures and/or GUI components. Does nothing by default.- Overrides:
- resetin class- AbstractMarsTool
 
- 
buildMainDisplayAreaDescription copied from class:AbstractMarsToolAbstract method that must be instantiated by subclass to build the main display area of the GUI. It will be placed in the CENTER area of a BorderLayout. The title is in the NORTH area, and the controls are in the SOUTH area.- Specified by:
- buildMainDisplayAreain class- AbstractMarsTool
 
- 
getHelpComponentDescription copied from class:AbstractMarsToolOverride this method to provide a JComponent (probably a JButton) of your choice to be placed just left of the Close/Exit button. Its anticipated use is for a "help" button that launches a help message or dialog. But it can be any valid JComponent that doesn't mind co-existing among a bunch of JButtons.- Overrides:
- getHelpComponentin class- AbstractMarsTool
 
- 
updateHexadecimalKeyboardpublic void updateHexadecimalKeyboard(int row) 
- 
updateOneSecondCounterpublic void updateOneSecondCounter(int value) 
 
-