Prog1Tools
Class TurtleScreen

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by Prog1Tools.Screen
                          extended by Prog1Tools.GraphicScreen
                              extended by Prog1Tools.TurtleScreen
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, GraphicScreenSpec, ScreenSpec, TurtleSpec

public class TurtleScreen
extends GraphicScreen
implements TurtleSpec

Die Klasse TurtleScreen erweitert die Klasse GraphicScreen, so dass auf einfache Art und Weise mit Hilfe einer zeichnenden Schildkröte grafische Darstellungen erstellt werden koennen.

Version:
1.1
Author:
hagen.buchwald@kit.edu
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class Prog1Tools.GraphicScreen
HEIGHT, ITEMS, ORIGIN_X, ORIGIN_Y, WIDTH
 
Fields inherited from class Prog1Tools.Screen
choosenColor, choosenFile, debug, fileChooser, fileFilter, fontName, fontSize, fontStyle, keyListener, mouseListener, player, selectedKeyChar, selectedKeyCode, selectedMouseButton, selectedOption, selectedSource, seq, track
 
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 Prog1Tools.ScreenSpec
APPROVE_FILE, BLACK, BLACK_B, BLACK_G, BLACK_R, BLUE, BLUE_B, BLUE_G, BLUE_R, BLUE2, BLUE2_B, BLUE2_G, BLUE2_R, BLUE3, BLUE3_B, BLUE3_G, BLUE3_R, BROWN, BROWN_B, BROWN_G, BROWN_R, BROWN2, BROWN2_B, BROWN2_G, BROWN2_R, CANCEL_FILE, CANCEL_OPTION, CLOSED_OPTION, COLUMNS, DELIMITER, FONT_NAME, FONT_SIZE, FONT_STYLE, GREEN, GREEN_B, GREEN_G, GREEN_R, GREEN2, GREEN2_B, GREEN2_G, GREEN2_R, GREY, GREY_B, GREY_G, GREY_R, GREY2, GREY2_B, GREY2_G, GREY2_R, KEYCHAR_RESET_VALUE, KEYCODE_RESET_VALUE, MAX_X, MAX_Y, MOUSEBUTTON_RESET_VALUE, NO_OPTION, OK_OPTION, ORANGE, ORANGE_B, ORANGE_G, ORANGE_R, PURPLE, PURPLE_B, PURPLE_G, PURPLE_R, RED, RED_B, RED_G, RED_R, ROWS, WHITE, WHITE_B, WHITE_G, WHITE_R, YES_OPTION
 
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, PROPERTIES, SOMEBITS
 
Constructor Summary
protected TurtleScreen(int width, int height)
           
 
Method Summary
 void clearScreen()
          Kommando zum Loeschen der Anzeige.
 void forward(int distance)
          Kommando zum Bewegen der Schildkroete um distance Einheiten in Blickrichtung.
 int getHeading()
          Abfrage der Blickrichtung der Schildkroete.
static TurtleScreen getInstance()
          Statische Methode zur individuellen Erzeugung eines graphischen Farbbildschirms mit Turtle-Funktionalitaet.
static TurtleScreen getInstance(int width, int height)
          Statische Methode zur individuellen Erzeugung eines graphischen Farbbildschirms mit Turtle-Funktionalitaet.
 int getPositionX()
          Abfrage der x-Koordinate der Position der Schildkroete.
 int getPositionY()
          Abfrage der y-Koordinate der Position der Schildkroete.
 void hideTurtle()
          Kommando zum Ausblenden der Schildkroete.
 boolean isVisibleTurtle()
          Abfrage, ob die Schildkröte eingeblendet ist.
 void setHeading(int heading)
          Kommando zum Setzen der Richtung, in die die Schildkroete schaut.
 void setTurtle(int x, int y)
          Kommando zum Setzen der Position der Schildkroete.
 void showTurtle()
          Kommando zum Einblenden der Schildkroete.
 java.lang.String toString()
           
 
Methods inherited from class Prog1Tools.GraphicScreen
clearScreen, drawArc, drawCircle, drawLine, drawOrigin, drawOval, drawPolygon, drawPolyline, drawRectangle, drawRectangle3D, drawRectangleRounded, drawText, getColor, getItem, getMaxNumberOfItems, getMaxX, getMaxY, getNumberOfItems, getOrigin, paint, setColor, setOrigin
 
Methods inherited from class Prog1Tools.Screen
getChoosenColor, getChoosenFile, getSelectedKeyChar, getSelectedKeyCode, getSelectedMouseButton, getSelectedOption, pause, playSound, readBoolean, readByte, readChar, readDouble, readFloat, readInt, readLine, readLong, readShort, resetFont, resetKeyEvent, resetMouseEvent, setDebug, setFont, setResizable, showColorChooserDialog, showConfirmDialog, showFileOpenDialog, showFileSaveDialog, showInputDialogComboBox, showMessageDialog, showOptionDialogAbbruchOK, showOptionDialogJaNein
 
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, 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, 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, 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, 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, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface Prog1Tools.GraphicScreenSpec
repaint
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Constructor Detail

TurtleScreen

protected TurtleScreen(int width,
                       int height)
Method Detail

getInstance

public static TurtleScreen getInstance(int width,
                                       int height)
Statische Methode zur individuellen Erzeugung eines graphischen Farbbildschirms mit Turtle-Funktionalitaet. Wiederholte Aufrufe dieser Methode liefern stets die gleiche Intanz (Singleton-Pattern).

Returns:
singulaere Instanz der Klasse TurtleScreen

getInstance

public static TurtleScreen getInstance()
Statische Methode zur individuellen Erzeugung eines graphischen Farbbildschirms mit Turtle-Funktionalitaet. Wiederholte Aufrufe dieser Methode liefern stets die gleiche Intanz (Singleton-Pattern).

Returns:
singulaere Instanz der Klasse TurtleScreen

setTurtle

public void setTurtle(int x,
                      int y)
Description copied from interface: TurtleSpec
Kommando zum Setzen der Position der Schildkroete.

Specified by:
setTurtle in interface TurtleSpec
Parameters:
x - x-Koordinate der Position der Schildkroete.
y - y-Koordinate der Position der Schildkroete.

setHeading

public void setHeading(int heading)
Description copied from interface: TurtleSpec
Kommando zum Setzen der Richtung, in die die Schildkroete schaut.

Specified by:
setHeading in interface TurtleSpec
Parameters:
heading - Richtung in Grad, in die die Schildkroete schaut. 0 Grad entspricht Blick nach Osten. 90 Grad entspricht Blick nach Süden. 180 Grad entspricht Blick nach Westen. 270 Grad entspricht Blick nach Norden. Werte, die kleiner als 0 bzw. größer als 360 Grad sind, werden automatisch auf den Wertebereich von 0 bis 360 Grad umgerechnet.

forward

public void forward(int distance)
Description copied from interface: TurtleSpec
Kommando zum Bewegen der Schildkroete um distance Einheiten in Blickrichtung.

Specified by:
forward in interface TurtleSpec
Parameters:
distance - Distanz, um die sich die Schildkroete in Blickrichtung bewegen soll.

getPositionX

public int getPositionX()
Description copied from interface: TurtleSpec
Abfrage der x-Koordinate der Position der Schildkroete.

Specified by:
getPositionX in interface TurtleSpec
Returns:
x-Koordinate der Position der Schildkroete.

getPositionY

public int getPositionY()
Description copied from interface: TurtleSpec
Abfrage der y-Koordinate der Position der Schildkroete.

Specified by:
getPositionY in interface TurtleSpec
Returns:
y-Koordinate der Position der Schildkroete.

getHeading

public int getHeading()
Description copied from interface: TurtleSpec
Abfrage der Blickrichtung der Schildkroete.

Specified by:
getHeading in interface TurtleSpec
Returns:
Blickrichtung in Grad der Schildkroete. 0 Grad entspricht Blick nach Osten. 90 Grad entspricht Blick nach Süden. 180 Grad entspricht Blick nach Westen. 270 Grad entspricht Blick nach Norden.

showTurtle

public void showTurtle()
Description copied from interface: TurtleSpec
Kommando zum Einblenden der Schildkroete.

Specified by:
showTurtle in interface TurtleSpec

hideTurtle

public void hideTurtle()
Description copied from interface: TurtleSpec
Kommando zum Ausblenden der Schildkroete.

Specified by:
hideTurtle in interface TurtleSpec

isVisibleTurtle

public boolean isVisibleTurtle()
Description copied from interface: TurtleSpec
Abfrage, ob die Schildkröte eingeblendet ist.

Specified by:
isVisibleTurtle in interface TurtleSpec

toString

public java.lang.String toString()
Overrides:
toString in class java.awt.Component

clearScreen

public void clearScreen()
Description copied from interface: ScreenSpec
Kommando zum Loeschen der Anzeige.

Specified by:
clearScreen in interface GraphicScreenSpec
Specified by:
clearScreen in interface ScreenSpec
Overrides:
clearScreen in class Screen