zu www.bildungsgueter.de nächster Abschnitt zur Inhaltsübersicht des Kapitels

Elementare Grafikfunktionen in JavaFX


Farbige Rechtecke zeichnen

Nachdem du jetzt ein Fenster hast, in das du zeichnen kannst, wollen wir uns jetzt angucken, was die Klasse GraphicsContext alles kann.

Dass du eine Rechtecksfläche farbig ausfüllen kann, hast du schon gesehen. Trotzdem gucken wir uns jetzt ein etwas raffinierteres Beispiel genau an:

private void paint (GraphicsContext gc) {
    double w = gc.getCanvas().getWidth();
    double h = gc.getCanvas().getHeight();
    gc.clearRect(0, 0, w, h);
       //  ohne clearRect entstehen beim Verkleinern des
       //  Darstellungselements Schmiereffekte.
    gc.setFill(new Color(0.5, 0.0, 0.0, 1.0));  //  dunkelrot
    gc.fillRect(10, 10, 120, 120);

    gc.setFill(new Color(0.0, 0.5, 0.0, 1.0));  //  dunkelgrün
    gc.fillRect(60, 60, 120, 120);

    gc.setFill(new Color(0.0, 0.0, 0.5, 1.0));  //  dunkelblau
    gc.fillRect(110, 110, 120, 120);
}

Mit dieser Methode malt dein Programm dir drei quadratische Rechtecke in unterschiedlichen Farben in das Fenster:

Drei deckend gefüllte Rechtecke, von links oben nach rechts unten platziert, teilweise überlappend

Da die Rechtecke einander teilweise überdecken, liest du aus der Zeichnung mühelos ab, in welcher Reihenfolge sie gezeichnet wurden.

Wenn du dir die Anweisungen in der Methode InhaltZeichnen genau anguckst, fällt dir sicher auf, dass du dreimal das Gleiche tust: Du legst eine Darstellungsfarbe fest und füllst anschließend einen rechteckigen Bereich mit dieser Farbe.

Die zu verwendende Zeichenfarbe teilst du dem Zeicheninstrument über die Methode setColor mit, die mit drei Zahlenwerten aufzurufen ist.

Bedeutung der Parameter des Konstruktors "Color"

Eine deckende Farbe wird durch Angabe ihres Rotanteils, ihres Grünanteils und ihres Blauanteils gemischt. Zusätzlich muss immer ein weiterer Wert angegeben werden, der die Deckkraft der Farbe bestimmt.

Die Farbanteile werden durch Zahlen im Wertebereich von 0.0 bis 1.0 festgelegt. Der Wert 1.0 bedeutet den höchstmöglichen Farbanteil, der Wert 0.0 bedeutet das vollständige Fehlen der Grundfarbe in der Mischfarbe.

Die Deckkraft einer Farbe wird durch eine Zahl im Wertebereich von 0.0 bis 1.0 festgelegt. Der Wert 1.0 bedeutet volle Deckkraft, der Wert 0.0 bedeutet völlige Druchsichtigkeit.

Den auszufüllenden rechteckigen Bereich bestimmst du durch Angabe von vier Zahlen:

Die Zeichnung fasst das zusammen:

Bedeutung der Parameter der Methode "fillRect"

Was du gelernt hast


zur Inhaltsübersicht des Kapitels nächster Abschnitt