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:
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.
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:
Farben werden durch Mischung der Grundfarben rot, grün und blau hergestellt.
Du verwendest die Methode setColor, um die Farbe festzulegen, mit der du zeichnen willst.
Du verwendest die Methode fillRect, um ein Rechteck farbig auszufüllen.