## mars.venus
Class MessagesPane

    java.lang.Object
      java.awt.Component
          java.awt.Container
              javax.swing.JComponent
                  javax.swing.JTabbedPane
                      mars.venus.MessagesPane

All Implemented Interfaces:
  ImageObserver, MenuContainer, Serializable, Accessible, SwingConstants

    public class MessagesPane

extends JTabbedPane

Creates the message window at the bottom of the UI.

Author:
  Team JSpim
See Also:
  Serialized Form

Nested Class Summary

Nested classes/interfaces inherited from class javax.swing.JTabbedPane
`JTabbedPane.AccessibleJTabbedPane, JTabbedPane.ModelListener`

Nested classes/interfaces inherited from class javax.swing.JComponent
`JComponent.AccessibleJComponent`

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
`static int` `MAXIMUM_SCROLLED_CHARACTERS`
`static int` `NUMBER_OF_CHARACTERS_TO_CUT`

Fields inherited from class javax.swing.JTabbedPane
`changeEvent, changeListener, model, SCROLL_TAB_LAYOUT, tabPlacement, WRAP_TAB_LAYOUT`

Fields inherited from class javax.swing.JComponent
`accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW`

Fields inherited from class java.awt.Component
`BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

Fields inherited from interface javax.swing.SwingConstants
`BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST`

Fields inherited from interface java.awt.image.ImageObserver
`ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

Constructor Summary
`MessagesPane()` Constructor for the class, sets up two fresh tabbed text areas for program feedback.

Method Summary
`JTextArea` `getAssembleTextArea()` Returns component used to display assembler messages
`String` `getInputString(int maxLen)` Method used by the SystemIO class to get interactive user input requested by a running MIPS program (e.g.
`String` `getInputString(String prompt)` Method used by the SystemIO class to get interactive user input requested by a running MIPS program (e.g.
`JTextArea` `getRunTextArea()` Returns component used to display runtime messages
`void` `postMarsMessage(String message)` Post a message to the assembler display
`void` `postRunMessage(String message)` Post a message to the runtime display
`void` `selectEditorTextLine(String fileName, int line, int column)` Will select the specified line in an editor tab.
`void` `selectErrorMessage(String fileName, int line, int column)` Will select the Mars Messages tab error message that matches the given specifications, if it is found.
`void` `selectMarsMessageTab()` Make the assembler message tab current (up front)
`void` `selectRunMessageTab()` Make the runtime message tab current (up front)

Methods inherited from class javax.swing.JTabbedPane

`add, add, add, add, add, addChangeListener, addTab, addTab, addTab, createChangeListener, fireStateChanged, getAccessibleContext, getBackgroundAt, getBoundsAt, getChangeListeners, getComponentAt, getDisabledIconAt, getDisplayedMnemonicIndexAt, getForegroundAt, getIconAt, getMnemonicAt, getModel, getSelectedComponent, getSelectedIndex, getTabComponentAt, getTabCount, getTabLayoutPolicy, getTabPlacement, getTabRunCount, getTitleAt, getToolTipText, getToolTipTextAt, getUI, getUIClassID, indexAtLocation, indexOfComponent, indexOfTab, indexOfTab, indexOfTabComponent, insertTab, isEnabledAt, paramString, remove, remove, removeAll, removeChangeListener, removeTabAt, setBackgroundAt, setComponentAt, setDisabledIconAt, setDisplayedMnemonicIndexAt, setEnabledAt, setForegroundAt, setIconAt, setMnemonicAt, setModel, setSelectedComponent, setSelectedIndex, setTabComponentAt, setTabLayoutPolicy, setTabPlacement, setTitleAt, setToolTipTextAt, setUI, updateUI`

Methods inherited from class javax.swing.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, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, 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`

Methods inherited from class java.awt.Container

`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, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### MAXIMUM_SCROLLED_CHARACTERS

    public static final int MAXIMUM_SCROLLED_CHARACTERS

### NUMBER_OF_CHARACTERS_TO_CUT

    public static final int NUMBER_OF_CHARACTERS_TO_CUT

Constructor Detail

### MessagesPane

    public MessagesPane()

  Constructor for the class, sets up two fresh tabbed text areas for program feedback.

Method Detail

### selectErrorMessage

    public void selectErrorMessage(String fileName,
                                   int line,
                                   int column)

  Will select the Mars Messages tab error message that matches the given specifications, if it is found. Matching is done by constructing a string using the parameter values and searching the text area for the last occurrance of that string.

  Parameters:
    `fileName` - A String containing the file path name.
    `line` - Line number for error message
    `column` - Column number for error message

### selectEditorTextLine

    public void selectEditorTextLine(String fileName,
                                     int line,
                                     int column)

  Will select the specified line in an editor tab. If the file is open but not current, its tab will be made current. If the file is not open, it will be opened in a new tab and made current, however the line will not be selected (apparent apparent problem with JEditTextArea).

  Parameters:
    `fileName` - A String containing the file path name.
    `line` - Line number for error message
    `column` - Column number for error message

### getAssembleTextArea

    public JTextArea getAssembleTextArea()

  Returns component used to display assembler messages

  Returns:
    assembler message text component

### getRunTextArea

    public JTextArea getRunTextArea()

  Returns component used to display runtime messages

  Returns:
    runtime message text component

### postMarsMessage

    public void postMarsMessage(String message)

  Post a message to the assembler display

  Parameters:
    `message` - String to append to assembler display text

### postRunMessage

    public void postRunMessage(String message)

  Post a message to the runtime display

  Parameters:
    `message` - String to append to runtime display text

### selectMarsMessageTab

    public void selectMarsMessageTab()

  Make the assembler message tab current (up front)

### selectRunMessageTab

    public void selectRunMessageTab()

  Make the runtime message tab current (up front)

### getInputString

    public String getInputString(String prompt)

  Method used by the SystemIO class to get interactive user input requested by a running MIPS program (e.g. syscall #5 to read an integer). SystemIO knows whether simulator is being run at command line by the user, or by the GUI. If run at command line, it gets input from System.in rather than here. This is an overloaded method. This version, with the String parameter, is used to get input from a popup dialog.

  Parameters:
    `prompt` - Prompt to display to the user.
  Returns:
    User input.

### getInputString

    public String getInputString(int maxLen)

  Method used by the SystemIO class to get interactive user input requested by a running MIPS program (e.g. syscall #5 to read an integer). SystemIO knows whether simulator is being run at command line by the user, or by the GUI. If run at command line, it gets input from System.in rather than here. This is an overloaded method. This version, with the int parameter, is used to get input from the MARS Run I/O window.

  Parameters:
    `maxLen:` - maximum length of input. This method returns when maxLen characters have been read. Use -1 for no length restrictions.
  Returns:
    User input.