turtle
Class TurtleWindow

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended byturtle.TurtleWindow
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class TurtleWindow
extends javax.swing.JPanel

TurtleWindow

Diese Klasse stellt das Zeichenfenster zur Verfügung, in dem die Turtle-Spuren dargestellt werden. Dazu muss eine Instanz dieser Klasse der Turtle übergeben werden.
Das Turtle-Fenster wird im Bereich [xMin, yMin] bis [xMax, yMax] dargestellt. Die Koordinaten-Achsen zeigen von links nach rechts und von unten nach oben.
Grafiken und Text werden mit hoher Genauigkeit und Kantenglättung dargestellt.
Das Turtle-Fenster ist von JPanel abgeleitet, damit die automatische Wiederherstellung des Fensters sowie Double-Buffering genutzt werden können.

Version:
Version 1.2 vom 31.05.2003
Author:
Matthias Taulien, © 2003
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
TurtleWindow()
          Der Standardkonstruktor erzeugt ein Turtle-Fenster von [-100, -100] bis [+100, +100].
TurtleWindow(int xMin, int yMin, int xMax, int yMax)
          Konstruktor zur Erzeugung eines Turtle-Fensters.
 
Method Summary
 void clear()
          Löscht das Turtle-Fenster.
 java.awt.Graphics getGraphics()
          Gibt den Grafik-Kontext des Turtle-Fensters zurück.
protected  java.awt.geom.AffineTransform getKoordTransform()
          Gibt die affine Transformation zurück, die die Turtle-Koordinaten auf die Bildschirm-Koordinaten abbildet und die Richtung der y-Achse noch oben dreht.
 java.awt.Dimension getSize()
          Gibt die Größe des Turtle-Fensters zurück.
 void paintComponent(java.awt.Graphics g)
          Diese Methode zeichnet die Turtle-Spuren.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, 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
 

Constructor Detail

TurtleWindow

public TurtleWindow()
Der Standardkonstruktor erzeugt ein Turtle-Fenster von [-100, -100] bis [+100, +100].


TurtleWindow

public TurtleWindow(int xMin,
                    int yMin,
                    int xMax,
                    int yMax)
Konstruktor zur Erzeugung eines Turtle-Fensters.
Als Parameter werden die Koordinaten der linken, unteren und der rechten, oberen Ecke erwartet.

Parameters:
xMin - linke Grenze des Turtle-Fensters
yMin - untere Grenze des Turtle-Fensters
xMax - rechte Grenze des Turtle-Fensters
yMax - obere Grenze des Turtle-Fensters
Throws:
java.lang.IllegalArgumentException - Erzeugt eine Ausnahme, falls die rechte (bzw. obere) Fenstergrenze kleiner oder gleich der linken (bzw. unteren) Fenstergrenze ist.
Method Detail

clear

public void clear()
Löscht das Turtle-Fenster.


getSize

public java.awt.Dimension getSize()
Gibt die Größe des Turtle-Fensters zurück.

Returns:
Größe des Turtle-Fensters

getGraphics

public java.awt.Graphics getGraphics()
Gibt den Grafik-Kontext des Turtle-Fensters zurück.

Returns:
Grafik-Kontext des Turtle-Fensters

getKoordTransform

protected java.awt.geom.AffineTransform getKoordTransform()
Gibt die affine Transformation zurück, die die Turtle-Koordinaten auf die Bildschirm-Koordinaten abbildet und die Richtung der y-Achse noch oben dreht.

Returns:
Koordinaten-Transformation

paintComponent

public void paintComponent(java.awt.Graphics g)
Diese Methode zeichnet die Turtle-Spuren.

Parameters:
g - Grafik-Kontext