Links und Funktionen
Sprachumschaltung

Navigationspfad


Inhaltsbereich

Beispiel1.java

Beispiel für CanvasFrame

Java source code icon Beispiel1.java — Java source code, 2 KB (2245 bytes)

Dateiinhalt

import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.Point;

/**
 * Ein Beispiel für die Benutzung der Klasse {@link CanvasFrame}.
 * 
 */
public class Beispiel1 {
    public static void main(String[] args) {

	int xsize = 500, ysize = 500;

	// Der folgende Befehl öffnet ein Fenster, welches eine weiße
	// Zeichenfläche enthält, welche xsize Pixel breit und
	// ysize Pixel hoch ist.
	CanvasFrame frame = new CanvasFrame("Beispiel 1", xsize, ysize);

	// Um auf der Zeichenfläche des Fensters zeichnen zu können, benutzen
	// wir ein Objekt vom Typ Graphics2D, welches wir durch den
	// Methodenaufruf frame.createGraphics() erhalten.
	Graphics2D canvas = frame.getGraphics();

	// Nun können wir auf dem "canvas" zeichnen.
	// Die Klasse Graphics2D stellt dafür eine große Anzahl von Methoden
	// bereit. Hier sind ein paar Beispiele.
	canvas.drawString("Ein paar Beispielformen.", 10, 20);
	canvas.drawString("Durch Mausklick können Punkte markiert werden.", 10,
		40);
	canvas.setColor(Color.GREEN);
	canvas.drawRect(100, 100, 200, 90);
	canvas.setColor(Color.YELLOW);
	canvas.fillRect(100, 400, 100, 20);
	canvas.setColor(Color.RED);
	canvas.drawOval(200, 200, 200, 100);
	canvas.setColor(Color.BLUE);
	canvas.fillOval(350, 240, 20, 20);
	canvas.setColor(Color.BLACK);
	canvas.drawLine(100, 70, 200, 200);

	// Die Änderung am "canvas" sind noch nicht sichtbar!
	// Sie werden erst sichtbar, wenn wir das Fenster
	// neu gezeichtnet wird. Das kann man so erreichen:
	frame.repaint();

	// "while (true) { ... }" bedeutet, dass die Anweisungen in den
	// geschweiften Klammern immer wieder wiederholt werden (so lange
	// bis der Benutzer das Fenster schließt).
	while (true) {
	    // Der folgende Befehl wartet so lange, bis der Benutzer mit
	    // der Maus in das Fenster geklickt hat. Die Position des Mausklicks
	    // wird als Point p zurückgegeben. Die horizontale Koordinate des
	    // Punkts ist der int-Wert p.x , die vertikale Koordinate ist der
	    // int-Wert p.y.
	    Point p = frame.waitMouseClicked();

	    // Zeichnen eines Kreises an der Position des Klicks.
	    int radius = 3;
	    canvas.fillOval(p.x - radius, p.y - radius, 2 * radius, 2 * radius);
	    frame.repaint();
	}
    }
}

Artikelaktionen


Funktionsleiste