public class TurtleField extends javax.swing.JFrame implements TurtleListener
Modifier and Type | Class and Description |
---|---|
class |
TurtleField.BufferedPanel
Overkill with double buffering on by default, but shows how to do it.
|
class |
TurtleField.DrawingPanel |
javax.swing.JFrame.AccessibleJFrame
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
Modifier and Type | Field and Description |
---|---|
(package private) javax.swing.JColorChooser |
cc |
private WorkspaceContext |
context |
(package private) javax.swing.JFileChooser |
fc |
private SLogoInterpreter |
interpreter |
private javax.swing.JTextField |
myAngle |
private TurtleField.DrawingPanel |
myDisplay |
private java.awt.Font |
myFont |
private javax.swing.JComboBox<java.lang.String> |
myStepSize |
private JTurtle |
myTurtle |
private javax.swing.JTextField |
myXPoint |
private javax.swing.JTextField |
myYPoint |
private static long |
serialVersionUID |
private javax.swing.JTextArea |
workSpace |
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
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
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Constructor and Description |
---|
TurtleField()
Creates a view of the turtle, using the default turtle representation
|
TurtleField(java.lang.String turtleImgLocName)
Creates a view of the turtle, given by the name of the turtle image
|
Modifier and Type | Method and Description |
---|---|
void |
doSteps()
Make the turtle take some steps.
|
private java.lang.String |
getInput(javax.swing.JTextArea ta)
gets text input from the workSpace
|
int |
getMoveSize()
Returns step size as currently selected.
|
private void |
init() |
static void |
main(java.lang.String[] args) |
private void |
makeDashBoard(javax.swing.JPanel panel)
Where turtle info is displayed
|
java.awt.Image |
makeImage(java.lang.String imageFileName) |
private void |
makeSlider(javax.swing.JPanel panel)
make a slider to set the turtle's heading
|
private javax.swing.JTextArea |
makeTextArea()
make a scroll pane for the text input into the workSpace
|
private javax.swing.JTextField |
makeTextField() |
private void |
parse(java.lang.String text)
Uses a SLogoInterpreter to interpret the given text in a context
|
void |
processTurtle(JTurtle turtle)
Process a (changed) turtle, display properties and redraw.
|
void |
setTurtle(JTurtle turtle) |
void |
showAngle(int angle)
Display (Turtle's) angle
|
void |
showPoint(java.awt.geom.Point2D d)
display Turtle's point information
|
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
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
addPropertyChangeListener, 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, toFront
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, transferFocusDownCycle, validate, validateTree
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, 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, getName, 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, 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, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
private static final long serialVersionUID
private TurtleField.DrawingPanel myDisplay
private javax.swing.JTextField myXPoint
private javax.swing.JTextField myYPoint
private javax.swing.JTextField myAngle
private javax.swing.JComboBox<java.lang.String> myStepSize
private java.awt.Font myFont
private javax.swing.JTextArea workSpace
private SLogoInterpreter interpreter
private WorkspaceContext context
final javax.swing.JFileChooser fc
final javax.swing.JColorChooser cc
private JTurtle myTurtle
public TurtleField(java.lang.String turtleImgLocName)
turtleImgName
- - the location of the turtle image filepublic TurtleField()
public static void main(java.lang.String[] args)
private void init()
public void setTurtle(JTurtle turtle)
private void makeSlider(javax.swing.JPanel panel)
private javax.swing.JTextField makeTextField()
private javax.swing.JTextArea makeTextArea()
private java.lang.String getInput(javax.swing.JTextArea ta)
private void parse(java.lang.String text)
text
- private void makeDashBoard(javax.swing.JPanel panel)
public void processTurtle(JTurtle turtle)
processTurtle
in interface TurtleListener
turtle
- is the turtle being displayedpublic void showPoint(java.awt.geom.Point2D d)
public void showAngle(int angle)
angle
- is the angle displayedpublic void doSteps()
public int getMoveSize()
public java.awt.Image makeImage(java.lang.String imageFileName) throws java.io.IOException
imageFileName
- java.io.IOException
- if there is an error reading in the file