edu.princeton.toy
public class TSimMachinePane extends javax.swing.JLayeredPane
Modifier and Type | Class and Description |
---|---|
protected class |
TSimMachinePane.Listener
The Listener of a TBaseConverterPane pays attention to the changes in the PTextFields, and
fires off changes to the other PTextFields.
|
protected class |
TSimMachinePane.Runner
Runner is a simple implementation of Runnable for the Thread started when the component's
size changes.
|
javax.swing.JLayeredPane.AccessibleJLayeredPane
javax.swing.JComponent.AccessibleJComponent
Modifier and Type | Field and Description |
---|---|
static int |
ADDR_BIT_COUNT
The number of addr switches in the TSimMachinePane.
|
static javax.swing.border.Border |
BLUE_AREA_BORDER
The border of the blue area in the TSimMachinePane.
|
static java.awt.Color |
BLUE_AREA_COLOR
The color of the blue area in the TSimMachinePane.
|
static int |
DATA_BIT_COUNT
The number of addr switches in the TSimMachinePane.
|
static int |
INSTR_BIT_COUNT
The number of instr lights in the TSimMachinePane.
|
static int |
MAX_SCALE
The maxmimum scale to which the TSimMachinePane can be scaled.
|
static int |
MIN_SCALE
The minimum scale which the TSimMachinePane can be scaled to.
|
static int |
PC_BIT_COUNT
The number of pc lights in the TSimMachinePane.
|
static javax.swing.border.Border |
PLACEHOLDER_BORDER
The border of the resizing placeholder in the TSimMachinePane.
|
static int |
PREFERRED_SCALE
The scale used in determining the preferred size of the TSimMachinePane.
|
static java.lang.String |
RESCALE_COMMAND
The command to update the contents of the inputList with the stdin stream of the
virtualMachine.
|
static java.lang.String |
UPDATE_COMMAND
The command to update the contents of the inputList with the stdin stream of the
virtualMachine.
|
DEFAULT_LAYER, DRAG_LAYER, FRAME_CONTENT_LAYER, LAYER_PROPERTY, MODAL_LAYER, PALETTE_LAYER, POPUP_LAYER
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Constructor and Description |
---|
TSimMachinePane(TVirtualMachine virtualMachine,
javax.swing.Action loadAction,
javax.swing.Action lookAction,
javax.swing.Action stepAction,
javax.swing.Action runAction,
javax.swing.Action enterAction,
javax.swing.Action interruptAction,
javax.swing.Action resetAction)
Creates a new TSimMachinePane.
|
Modifier and Type | Method and Description |
---|---|
void |
addChangeListener(javax.swing.event.ChangeListener listener)
Adds a listener to monitor changes in the state of the switches.
|
boolean |
doCommand(java.lang.String command,
java.lang.Object extraInfo)
Performs a command based on the argument.
|
protected void |
fireStateChanged()
Fires a state changed event to all the listeners.
|
TWord |
getAddr()
Returns the TWord derived from the positions of the addr switches.
|
TWord |
getData()
Returns the TWord derived from the positions of the data switches.
|
TVirtualMachine |
getVirtualMachine()
Returns the virtualMachine attached to this TSimMachinePane.
|
protected void |
processComponentEvent(java.awt.event.ComponentEvent e)
Intercept ComponentEvents to do resize and move the bluePanel when this component is resized.
|
void |
removeChangeListener(javax.swing.event.ChangeListener listener)
Removes a listener from this machine.
|
void |
setVirtualMachine(TVirtualMachine virtualMachine)
Sets the virtualMachine attached to this TSimMachinePane.
|
addImpl, getAccessibleContext, getComponentCountInLayer, getComponentsInLayer, getComponentToLayer, getIndexOf, getLayer, getLayer, getLayeredPaneAbove, getObjectForLayer, getPosition, highestLayer, insertIndexForLayer, isOptimizedDrawingEnabled, lowestLayer, moveToBack, moveToFront, paint, paramString, putLayer, remove, removeAll, setLayer, setLayer, setPosition
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, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, 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, updateUI
add, add, add, add, add, addContainerListener, 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, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
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, 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, transferFocusBackward, transferFocusUpCycle
public static final java.lang.String RESCALE_COMMAND
public static final java.lang.String UPDATE_COMMAND
public static final int PC_BIT_COUNT
public static final int ADDR_BIT_COUNT
public static final int INSTR_BIT_COUNT
public static final int DATA_BIT_COUNT
public static final java.awt.Color BLUE_AREA_COLOR
public static final javax.swing.border.Border BLUE_AREA_BORDER
public static final javax.swing.border.Border PLACEHOLDER_BORDER
public static final int MIN_SCALE
public static final int MAX_SCALE
public static final int PREFERRED_SCALE
public TSimMachinePane(TVirtualMachine virtualMachine, javax.swing.Action loadAction, javax.swing.Action lookAction, javax.swing.Action stepAction, javax.swing.Action runAction, javax.swing.Action enterAction, javax.swing.Action interruptAction, javax.swing.Action resetAction)
public void addChangeListener(javax.swing.event.ChangeListener listener)
listener
- The listener to add to this pane. A null value will cause a
NullPointerException.public void removeChangeListener(javax.swing.event.ChangeListener listener)
listener
- The listener to remove from this pane. A null value will cause a
NullPointerException.public void setVirtualMachine(TVirtualMachine virtualMachine)
virtualMachine
- The virtualMachine to be attached to this TSimMachinePane.public TVirtualMachine getVirtualMachine()
public TWord getAddr()
public TWord getData()
protected void fireStateChanged()
public boolean doCommand(java.lang.String command, java.lang.Object extraInfo)
command
- A string representing the command. Note that pointer equality (not string
equality) is tested here, so it is important to use the string constants defined in this
class. An IllegalArgumentException will be thrown if the argument is invalid.protected void processComponentEvent(java.awt.event.ComponentEvent e)
processComponentEvent
in class java.awt.Component