JavaFX setFill() Methode

Sheeraz Gul 15 Februar 2024
JavaFX setFill() Methode

Die Methode setFill() wird verwendet, um die Farben in Formen und anderen Elementen in JavaFX zu füllen. Dieses Tutorial demonstriert die Verwendung der setFill()-Methode in JavaFX.

JavaFX setFill() Methode

Die Methode setFill() kann die Formen in JavaFX mit einheitlichen Bildmustern und Verlaufsmustern füllen. Um die Methode setFill() zu verwenden, benötigen wir das Paket JavaFX.scene.paint.

Mit setFill() können die Klassen wie Shape, Text etc. mit Farben gefüllt werden.

Syntax:

//Setting color to the text
Color color = new Color.Red
text.setFill(color);

Die obige Syntax verwendet die Klasse Color aus dem Farbpaket, um die Farbe anzugeben und sie mit der Methode setFill() in den Text einzufügen. Im Folgenden sind die Schritte zum Füllen der Szene mit Farbe unter Verwendung der Methode setFill beschrieben.

  1. Erstellen Sie eine Klasse, die die Klasse Application erweitert und die Methode start() implementiert.
  2. Erstellen Sie eine Gruppe, indem Sie die Klasse Group instanziieren.
  3. Erstellen Sie eine Szene, indem Sie die Klasse Scene instanziieren und ihr die Group übergeben.
  4. Füllen Sie die Szene mit der Methode setFill mit Farben.
  5. Erstellen Sie eine Form, einen Kreis, ein Rechteck usw. und fügen Sie die Form der Group hinzu.
  6. Übergeben Sie die scene an die Bühne und zeigen Sie die Bühne mit der Methode Show an.
  7. Starten Sie die Anwendung in der main-Methode.

Sehen wir uns ein Beispiel an, das auf den obigen Schritten basiert.

Beispielcode:

package delftstack;

import javafx.application.Application;
import javafx.scene.*;
import javafx.scene.paint.Color;
import javafx.scene.shape.*;
import javafx.stage.Stage;

public class JavaFX_SetFill extends Application {
  @Override
  public void start(Stage DemoStage) {
    Group DemoGroup = new Group();
    Scene DemoScene = new Scene(DemoGroup, 200, 150);
    DemoScene.setFill(Color.LIGHTBLUE);

    Circle DemoCircle = new Circle(100, 100, 80, Color.RED);

    DemoGroup.getChildren().add(DemoCircle);
    DemoStage.setScene(DemoScene);
    DemoStage.show();
  }

  public static void main(String[] args) {
    launch(args);
  }
}

Der obige Code erstellt eine Szene mit einer Kreisform. Es verwendet die Methode setFill, um die Szene mit Farbe zu füllen.

Ausgabe:

JavaFX SetFill

Versuchen wir, die Form und den Text mit der Methode setFill() mit Farbe zu füllen.

Beispielcode:

package delftstack;

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.stage.Stage;

public class JavaFX_SetFill extends Application {
  @Override
  public void start(Stage DemoStage) {
    // Draw a Square
    Rectangle Square = new Rectangle();

    // Set the properties of the Square
    Square.setX(200.0f);
    Square.setY(200.0f);
    Square.setWidth(300.0f);
    Square.setHeight(300.0f);

    // Set color to the Square
    Square.setFill(Color.LIGHTBLUE);

    // Set the stroke width
    Square.setStrokeWidth(3);

    // Set color to the stroke
    Square.setStroke(Color.LIGHTGREEN);

    // Draw a text
    Text DemoText = new Text("This is a colored Square");

    // Set the font of the text
    DemoText.setFont(Font.font("Edwardian Script ITC", 60));

    // Set the position of the text
    DemoText.setX(155);
    DemoText.setY(50);

    // Set color to the text
    DemoText.setFill(Color.BEIGE);
    DemoText.setStrokeWidth(2);
    DemoText.setStroke(Color.LIGHTBLUE);

    // Create a Group object
    Group Group_Root = new Group(Square, DemoText);

    // Create a scene object
    Scene DemoScene = new Scene(Group_Root, 600, 300);

    // Set title to the Stage
    DemoStage.setTitle("SetFill Example");

    // Add scene to the stage
    DemoStage.setScene(DemoScene);

    // Display the contents of the stage
    DemoStage.show();
  }
  public static void main(String args[]) {
    launch(args);
  }
}

Der obige Code erstellt ein Quadrat und einen Text und verwendet dann die Methode setfill, um das Quadrat mit Farbe zu füllen. Es verwendet auch die Methode setStroke für die Grenzen.

Ausgabe:

JavaFX SetFill-Form

Die Methode setFill kann auch einen Bildverlauf mit der Form oder dem Text füllen.

Beispielcode:

package delftstack;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.paint.Color;
import javafx.scene.paint.ImagePattern;
import javafx.scene.shape.Rectangle;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.stage.Stage;

public class JavaFX_SetFill extends Application {
  @Override
  public void start(Stage DemoStage) throws FileNotFoundException {
    // Draw a Square
    Rectangle Square = new Rectangle();

    // Set the properties of the Square
    Square.setX(200.0f);
    Square.setY(200.0f);
    Square.setWidth(300.0f);
    Square.setHeight(300.0f);

    // Draw a text
    Text DemoText = new Text("This is a Gradient Square");

    // Set the font of the text
    DemoText.setFont(Font.font("Edwardian Script ITC", 60));

    // Set the position of the text
    DemoText.setX(155);
    DemoText.setY(50);

    // Set the image pattern
    Image DemoImage = new Image(new FileInputStream("Delftstack.png"));
    ImagePattern Image_Gradient = new ImagePattern(DemoImage, 80, 80, 160, 160, false);

    // Set the linear gradient to the Square
    Square.setFill(Image_Gradient);

    // Create a Group object
    Group Group_Root = new Group(Square, DemoText);

    // Create a scene object
    Scene DemoScene = new Scene(Group_Root, 600, 300);

    // Set title to the Stage
    DemoStage.setTitle("SetFill Example");

    // Add scene to the stage
    DemoStage.setScene(DemoScene);

    // Display the contents of the stage
    DemoStage.show();
  }
  public static void main(String args[]) {
    launch(args);
  }
}

Der obige Code füllt den Bildverlauf in die quadratische Form.

Ausgabe:

JavaFX SetFill-Verlauf

Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

Verwandter Artikel - Java JavaFX