So verwenden Sie einen Gradient Fill in JavaFX

Statt eine Farbe zu verwenden, können Sie eine angeben Verlaufsfüllung, die Mischungen zwei Farben gleichmäßig über die Form. JavaFX bietet zwei Klassen für die mit Steigungen arbeiten: LinearGradient und RadialGradient.

EIN linearen Gradienten wird aus zwei Farbpunkte erstellt. Stellen Sie sich eine Linie zwischen diesen beiden Punkten gezeichnet. Die graduelle Füllung variiert die Farbe gleichmäßig von der Farbe, die an dem zweiten Punkt an dem ersten Punkt auf die Farbe gesetzt wird. Dann reicht es, die Farben auf dieser Linie in 90-Grad-Winkel auf der Linie einen ganzen Bereich zu füllen.

EIN radiale Gradienten wird von einem zentralen Punkt einer Farbe und einer zweiten Farbe auf dem Radius eines Kreises erstellt. Die Füllung ändert sich die Farbe gleichmäßig von der Mitte Farbe nach außen Farbe.

Die Tabelle zeigt die Konstrukteure für die LinearGradient und RadialGradient Klassen, zusammen mit dem Konstruktor für die Halt Klasse, die die Farben verwendet wird, für den Gradienten verwendet angeben.

Konstrukteurs für Gradient Klassen
Klasse ConstructorBeschreibung

LinearGradient (Doppel startX,
Doppel startY,
Doppel ENDX,
Doppel Endy,
boolean proportional,
CycleMethod cycleMethod,
Stop ... stoppt)
Erstellt einen linearen Gradienten. Die Anschläge erscheinen entlang der durch die Start- und Endpunkte linedefined.

Cyclemethod kann sein CycleMethod.NO_CYCLE,CycleMethod.REPEAT, oder CycleMethod.REFLECT.

RadialGradient (Doppel focusAngle,
Doppel focusDistance,
Doppel centerX,
Doppel centerY,
Doppelradius,
boolean proportional,
CycleMethod cycleMethod,
Stop ... stoppt)
Erstellt einen radialen Verlauf. Die Anschläge sind kreisförmig, startingfrom den Mittelpunkt des Gradienten und sich auf den Radius.FocusAngle wird gewöhnlich auf Null gesetzt.

Stopp (Doppel Offset, Farbe Farbe)
Definiert einen Farbanschlag auf den Gradienten. Der Offset ist ein doublethat Bereiche 0,0-1,0. Bei einem linearen Gradienten, representsthe 0.0 Punkt des Gradienten beginnen und 1.0 stellt das Ende point.For eine radiale Gradienten, 0.0 in der Mitte und 1,0 representsthe Radius darstellt.

Einige der Parameter mit diesen Konstrukteuren verwendet verdienen ein wenig Erklärung:

  • Proportional: Dieser Parameter bestimmt die Maßeinheiten für die Start- und Endpunkte für einen linearen Gradienten oder der Mittelpunkt und Radius für einen Kreis verwendet. Wenn dieser Parameter falsch ist, werden die Koordinaten in Pixel.

    Wenn das stimmt, liegen die Koordinaten 0,0-1,0 und sind proportional zur Größe der Form gefüllt wird. In den meisten Fällen ist es einfacher, mit proportionaler Koordinaten zu arbeiten, so sollte dieser Parameter in der Regel auf true gesetzt werden.

  • CyclicalMethod: Der Standardwert ist für ein Gradient mit einer Farbe, Übergang zu einer anderen Farbe zu starten, und dann beenden. Sie können jedoch Steigungen, Zyklus durch ihre Farben schaffen wiederholt einen Zyklus andere Methode als NO_CYCLE unter Verwendung.

    Wenn Sie REPEAT angeben, wiederholt sich der Gradient sich für jeden Zyklus. Wenn Sie angeben, REFLECT, kehrt sich die Steigung, die Reihenfolge der Stationen für jeden Zyklus.

  • Stopp-Offset: Die Anschläge stellen die Farben für den Gradienten Übergang verwendet. Der Offset-Parameter für einen Anschlag bestimmt, wo entlang des Gradienten der Anschlag erscheint.

    Ein Wert von 0,0 bedeutet, dass der Anschlag am Beginn eines linearen Gradienten oder der Mitte eines radialen Verlaufs erscheint. Ein Wert von 1,0 bedeutet, dass der Anschlag am Ende des linearen Gradienten oder am Radius eines radialen Gradienten erscheint.

    Alle Steigungen müssen mindestens zwei Stationen, eine am Anfang oder in der Mitte und das andere am Ende oder Radius aufweisen. Sie können jedoch durch das Hinzufügen weiterer Anschläge komplexere Verläufe erstellen. In diesem Fall versetzt der Anschlag einen Proportional Position entlang der Länge des Gradienten. Zum Beispiel kann ein Stopp von 0,5 Orte der Haltestelle in der Mitte des Gradienten bzw. Radius versetzt.

    die Start- und End-Anschläge Auch müssen nicht bei 0,0 oder 1,0 versetzt sein. Zum Beispiel, wenn Sie an beiden Enden des Gradienten nicht ein wenig fester Farbe wünschen, bevor der Farbübergang beginnt, könnte man 0,2 und 0,8, wie die Start- und End-Stopp-Offsets angeben.

Dieses Beispiel erzeugt eine graduelle Füllung, die die Farbe von Magenta nach Gelb variiert:

GradientPaint gp = new GradientPaint (0, 0, Color.MAGENTA, 0, 100, Color.yellow) -

Menü