## mars.tools
Class FloatRepresentation

    java.lang.Object
      java.awt.Component
          java.awt.Container
              java.awt.Window
                  java.awt.Frame
                      javax.swing.JFrame
                          mars.tools.AbstractMarsToolAndApplication
                              mars.tools.FloatRepresentation

All Implemented Interfaces:
  ImageObserver, MenuContainer, Serializable, Observer, Accessible, RootPaneContainer, WindowConstants, MarsTool

    public class FloatRepresentation

extends AbstractMarsToolAndApplication

Tool to help students learn about IEEE 754 representation of 32 bit floating point values. This representation is used by MIPS "float" directive and instructions and also the Java (and most other languages) "float" data type. As written, it can ALMOST be adapted to 64 bit by changing a few constants.

See Also:
  Serialized Form

Nested Class Summary

Nested classes/interfaces inherited from class mars.tools.AbstractMarsToolAndApplication
`AbstractMarsToolAndApplication.ConnectButton, AbstractMarsToolAndApplication.EnterKeyListener`

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`

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 mars.tools.AbstractMarsToolAndApplication
`connectButton, isBeingUsedAsAMarsTool, theWindow, thisMarsApp`

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
`FloatRepresentation()` Simple constructor, likely used by the MARS Tools menu mechanism
`FloatRepresentation(String title, String heading)` Simple constructor, likely used to run a stand-alone memory reference visualizer.

Method Summary
`protected void` `addAsObserver()` Override the inherited method, which registers us as an Observer over the static data segment (starting address 0x10010000) only.
`protected JComponent` `buildDisplayArea()`
`protected JComponent` `buildMainDisplayArea()` Method that constructs the main display area.
`protected void` `deleteAsObserver()` Delete this app/tool as an Observer of the attached register.
`String` `getName()` Fetch tool name (for display in MARS Tools menu)
`static void` `main(String[] args)` Main provided for pure stand-alone use.
`protected void` `reset()` Method to reset display values to 0 when the Reset button selected.
`void` `update(Observable register, Object accessNotice)` Override inherited update() to update display when "attached" register is modified either by MIPS program or by user editing it on the MARS user interface.

Methods inherited from class mars.tools.AbstractMarsToolAndApplication
`action, addAsObserver, addAsObserver, buildButtonAreaMarsTool, buildButtonAreaStandAlone, buildHeadingArea, deleteAsObserver, getHelpComponent, go, initializePostGUI, initializePreGUI, isObserving, performSpecialClosingDuties, processMIPSUpdate, updateDisplay`

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, setCursor, setExtendedState, 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, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, 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, transferFocusBackward, 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, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getParent, getPeer, 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, isOpaque, 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, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, 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

### FloatRepresentation

    public FloatRepresentation(String title,
                               String heading)

  Simple constructor, likely used to run a stand-alone memory reference visualizer.

  Parameters:
    `title` - String containing title for title bar
    `heading` - String containing text for heading shown in upper part of window.

### FloatRepresentation

    public FloatRepresentation()

  Simple constructor, likely used by the MARS Tools menu mechanism

Method Detail

### main

    public static void main(String[] args)

  Main provided for pure stand-alone use. Recommended stand-alone use is to write a driver program that instantiates a FloatRepresentation object then invokes its go() method. "stand-alone" means it is not invoked from the MARS Tools menu. "Pure" means there is no driver program to invoke the application.

### getName

    public String getName()

  Fetch tool name (for display in MARS Tools menu)

  Specified by:
    `getName` in interface `MarsTool`
  Specified by:
    `getName` in class `AbstractMarsToolAndApplication`
  Returns:
    String containing tool name

### addAsObserver

    protected void addAsObserver()

  Override the inherited method, which registers us as an Observer over the static data segment (starting address 0x10010000) only. This version will register us as observer over the selected floating point register, if any. If no register is selected, it will not do anything. If you use the inherited GUI buttons, this method is invoked when you click "Connect" button on MarsTool or the "Assemble and Run" button on a Mars-based app.

  Overrides:
    `addAsObserver` in class `AbstractMarsToolAndApplication`

### deleteAsObserver

    protected void deleteAsObserver()

  Delete this app/tool as an Observer of the attached register. This overrides the inherited version which deletes only as an Observer of memory. This method is called when the default "Disconnect" button on a MarsTool is selected or when the MIPS program execution triggered by the default "Assemble and run" on a stand-alone Mars app terminates (e.g. when the button is re-enabled).

  Overrides:
    `deleteAsObserver` in class `AbstractMarsToolAndApplication`

### buildMainDisplayArea

    protected JComponent buildMainDisplayArea()

  Method that constructs the main display area. This will be vertically sandwiched between the standard heading area at the top and the control area at the bottom.

  Specified by:
    `buildMainDisplayArea` in class `AbstractMarsToolAndApplication`
  Returns:
    the GUI component containing the application/tool-specific part of the user interface

### update

    public void update(Observable register,
                       Object accessNotice)

  Override inherited update() to update display when "attached" register is modified either by MIPS program or by user editing it on the MARS user interface. The latter is the reason for overriding the inherited update() method. The inherited method will filter out notices triggered by the MARS GUI or the user.

  Specified by:
    `update` in interface `Observer`
  Overrides:
    `update` in class `AbstractMarsToolAndApplication`
  Parameters:
    `register` - the attached register
    `accessNotice` - information provided by register in RegisterAccessNotice object

### reset

    protected void reset()

  Method to reset display values to 0 when the Reset button selected. If attached to a MIPS register at the time, the register will be reset as well. Overrides inherited method that does nothing.

  Overrides:
    `reset` in class `AbstractMarsToolAndApplication`

### buildDisplayArea

    protected JComponent buildDisplayArea()