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
Creates a Drawing Panel
|
javax.swing.JFrame.AccessibleJFrame
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
Modifier and Type | Field and Description |
---|---|
ActionRecallMenu |
actionRecallMenu |
private java.util.LinkedList<java.lang.String> |
assignmentHistory |
private SLogoTurtle |
context |
private java.lang.String |
fileName |
private java.util.LinkedList<java.lang.String> |
instructionHistory |
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 |
java.io.PrintStream |
outAndErrStream |
private Refresh |
refresh |
private static long |
serialVersionUID |
private java.lang.String |
turtleImgLocName |
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 |
addToAssignmentHistory(java.lang.String assignment)
Adds an assignment to the history of assignments
|
void |
addToContext(JTurtle myTurtle)
Adds the turtle to the context
|
void |
addToContext(java.io.PrintStream myPrintStream)
Adds print stream to context
|
java.awt.image.BufferedImage |
createResizedCopy(java.awt.Image originalImage,
int scaledWidth,
int scaledHeight,
boolean preserveAlpha)
StackOverflow assistance, code on following link used as inspiration
http://stackoverflow.com/questions/244164/how-can-i-resize-an-image-using-java
|
void |
doSteps()
Make the turtle take some steps.
|
java.util.LinkedList<java.lang.String> |
getAssignmentHistory()
Gets the Assignment History
|
SLogoTurtle |
getContext()
Gets the context that contains a bunch of information
|
java.lang.String |
getFileName() |
java.util.LinkedList<java.lang.String> |
getInstructionHistory()
Gets the instruction history
|
SLogoInterpreter |
getInterpreter()
Gets the interpreter
|
int |
getMoveSize()
Returns step size as currently selected.
|
java.io.PrintStream |
getPrintStream()
Gets the print stream
|
JTurtle |
getTurtle()
Gets the turtle of the turtle field
|
java.lang.String |
getTurtleImgLocName()
Gives the string location of the turtle image
|
private void |
init()
Sets up the turtle field
|
static void |
main(java.lang.String[] args) |
private void |
makeConsole(javax.swing.JPanel panel)
Takes a panel and references the interpreter for the instance
Creates an input line from which a user can specify commands
and a textArea that will display outputs and errors
|
private void |
makeDashBoard(javax.swing.JPanel panel)
Where turtle info is displayed
|
java.awt.Image |
makeImage(java.lang.String imageFileName) |
private void |
makeMenuBar(javax.swing.JPanel panel)
Makes the menuBar
|
private void |
makeSlider(javax.swing.JPanel panel)
make a slider to set the turtle's heading
|
private javax.swing.JTextField |
makeTextField()
Makes a test field
|
private void |
makeTop(javax.swing.JPanel panel)
Makes the top part of the GUI
|
void |
newRefresh()
Creates a new refresh object
|
void |
processTurtle(JTurtle turtle)
Process a (changed) turtle, display properties and redraw.
|
void |
setFileName(java.lang.String fileName)
Sets the name of the file
|
void |
setHistory(java.util.LinkedList<java.lang.String> instructionHistory)
Sets the instruction history for the turtle field
|
void |
setImgLocName(java.lang.String filePath)
Makes the menu bar
|
void |
setTurtle(JTurtle turtle)
Sets the turtle
|
void |
showAngle(int angle)
Display (Turtle's) angle
|
void |
showPoint(java.awt.geom.Point2D d)
display Turtle's point information
|
void |
startRefresh()
Starts a new refresh for the turtle
|
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 SLogoInterpreter interpreter
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 java.util.LinkedList<java.lang.String> instructionHistory
private java.util.LinkedList<java.lang.String> assignmentHistory
private java.lang.String fileName
private JTurtle myTurtle
private SLogoTurtle context
public ActionRecallMenu actionRecallMenu
public java.io.PrintStream outAndErrStream
private java.lang.String turtleImgLocName
private Refresh refresh
public TurtleField(java.lang.String turtleImgLocName)
turtleImgName
- - the location of the turtle image filepublic TurtleField()
public static void main(java.lang.String[] args)
public void addToContext(JTurtle myTurtle)
myTurtle
- The turtle on the screenpublic void addToContext(java.io.PrintStream myPrintStream)
myPrintStream
- The print stream of the instanceprivate void init()
public void setTurtle(JTurtle turtle)
turtle
- Takes a turtleprivate void makeConsole(javax.swing.JPanel panel)
panel
- private void makeSlider(javax.swing.JPanel panel)
private javax.swing.JTextField makeTextField()
private void makeTop(javax.swing.JPanel panel)
panel
- The panel of the entire GUIpublic void newRefresh()
public void startRefresh()
public void setImgLocName(java.lang.String filePath)
panel
- The top panelprivate void makeMenuBar(javax.swing.JPanel panel)
panel
- Where the menuBar residesprivate void makeDashBoard(javax.swing.JPanel panel)
panel
- makes a Dashboardpublic void processTurtle(JTurtle turtle)
processTurtle
in interface TurtleListener
turtle
- is the turtle being displayedpublic JTurtle getTurtle()
public java.lang.String getTurtleImgLocName()
public java.util.LinkedList<java.lang.String> getAssignmentHistory()
public void addToAssignmentHistory(java.lang.String assignment)
assignment
- The assignment to be addedpublic java.io.PrintStream getPrintStream()
public void showPoint(java.awt.geom.Point2D d)
d
- is the point whose information we ar gettingpublic void showAngle(int angle)
angle
- is the angle displayedpublic void doSteps()
public void setHistory(java.util.LinkedList<java.lang.String> instructionHistory)
instructionHistory
- A LinkedListpublic void setFileName(java.lang.String fileName)
fileName
- The namepublic java.util.LinkedList<java.lang.String> getInstructionHistory()
public int getMoveSize()
public SLogoTurtle getContext()
public SLogoInterpreter getInterpreter()
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 filepublic java.lang.String getFileName()
public java.awt.image.BufferedImage createResizedCopy(java.awt.Image originalImage, int scaledWidth, int scaledHeight, boolean preserveAlpha)