Zielony Smok

JavaFX canvas: Rysowanie tekstu

Metoda void strokeText(String text, double x, double y)

text – tekst

x – współrzędna x lewego górnego wierzchołka

y – współrzędna y lewego górnego wierzchołka

Rysuje kontur tekstu.

Podlega atrybutom wspólnym i atrybutom obwiedni oraz atrybutom tekstu z wyjątkiem Font Smoothing

Klasa Listing25_26a

Ściągnij klasę Listing25_26a

package rozdzial25c;

import javafx.application.Application;
import javafx.application.Platform;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.stage.Stage;

public class Listing25_26a extends Application {

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

    @Override
    public void start(Stage stage) {
        try {
            Group root = new Group();
            Canvas cv = new Canvas(300, 100);
            GraphicsContext gc = cv.getGraphicsContext2D();
            //-
            String text = "Lorem ipsum dolor sit amet, consectetur adipiscing ...";
            gc.strokeText(text, 20,50);
            //-
            root.getChildren().add(cv);
            Scene scene = new Scene(root);
            stage.setScene(scene);
            stage.setTitle("Metoda strokeText");
            stage.setOnCloseRequest(e -> Platform.exit());
            stage.show();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Ustawione są jedynie domyślne atrybuty renderowania.

Wynik uruchomienia klasy:

Metoda strokeText
Rys. 25_15. Metoda strokeText

Metoda void strokeText(String text, double x, double y, double maxWidth)

text – tekst

x – współrzędna x lewego górnego wierzchołka

y – współrzędna y lewego górnego wierzchołka

maxWidth – maksymalna szerokość tekstu. Jeśli długość tekstu przekracza maxWidth, tekst
jest skalowany w osi X do tej wielkości.

Rysuje kontur tekstu.

Podlega atrybutom wspólnym i atrybutom obwiedni oraz atrybutom tekstu z wyjątkiem Font Smoothing.

Klasa Listing25_26b

Ściągnij klasę Listing25_26b

package rozdzial25c;

import javafx.application.Application;
import javafx.application.Platform;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.stage.Stage;

public class Listing25_26b extends Application {

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

    @Override
    public void start(Stage stage) {
        try {
            Group root = new Group();
            Canvas cv = new Canvas(300, 100);
            GraphicsContext gc = cv.getGraphicsContext2D();
            //-
            String text = "Lorem ipsum dolor sit amet, consectetur adipiscing ...";
            gc.strokeText(text, 20,50, 200);
            //-
            root.getChildren().add(cv);
            Scene scene = new Scene(root);
            stage.setScene(scene);
            stage.setTitle("Metoda strokeText");
            stage.setOnCloseRequest(e -> Platform.exit());
            stage.show();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Ustawione są jedynie domyślne atrybuty renderowania.

Wynik uruchomienia klasy:

Metoda strokeText
Rys. 25_26. Metoda strokeText

Metoda void fillText(String text, double x, double y)

text – tekst

x – współrzędna x lewego górnego wierzchołka

y – współrzędna y lewego górnego wierzchołka

Rysuje kontur tekstu.

Podlega atrybutom wspólnym i atrybutom wypełnienia oraz atrybutom tekstu.

Klasa Listing25_26c

Ściągnij klasę Listing25_26c

package rozdzial25c;

import javafx.application.Application;
import javafx.application.Platform;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.stage.Stage;

public class Listing25_26c extends Application {

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

    @Override
    public void start(Stage stage) {
        try {
            Group root = new Group();
            Canvas cv = new Canvas(300, 100);
            GraphicsContext gc = cv.getGraphicsContext2D();
            //-
            String text = "Lorem ipsum dolor sit amet, consectetur adipiscing ...";
            gc.fillText(text, 20,50);
            //-
            root.getChildren().add(cv);
            Scene scene = new Scene(root);
            stage.setScene(scene);
            stage.setTitle("Metoda fillText");
            stage.setOnCloseRequest(e -> Platform.exit());
            stage.show();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Ustawione są jedynie domyślne atrybuty renderowania.

Wynik uruchomienia klasy:

Metoda fillText
Rys. 25_17. Metoda fillText

Metoda void fillText(String text, double x, double y, double maxWidth)

text – tekst

x – współrzędna x lewego górnego wierzchołka

y – współrzędna y lewego górnego wierzchołka

maxWidth – maksymalna szerokość tekstu

Rysuje kontur tekstu.

Podlega atrybutom wspólnym i atrybutom wypełnienia oraz atrybutom tekstu. Jeśli długość tekstu przekracza
maxWidth, tekst jest skalowany w osi X do tej wielkości.

Klasa Listing25_26d

Ściągnij klasę Listing25_26d

package rozdzial25c;

import javafx.application.Application;
import javafx.application.Platform;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.stage.Stage;

public class Listing25_26d extends Application {

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

    @Override
    public void start(Stage stage) {
        try {
            Group root = new Group();
            Canvas cv = new Canvas(300, 100);
            GraphicsContext gc = cv.getGraphicsContext2D();
            //-
            String text = "Lorem ipsum dolor sit amet, consectetur adipiscing ...";
            gc.fillText(text, 20,50, 200);
            //-
            root.getChildren().add(cv);
            Scene scene = new Scene(root);
            stage.setScene(scene);
            stage.setTitle("Metoda fillText");
            stage.setOnCloseRequest(e -> Platform.exit());
            stage.show();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Ustawione są jedynie domyślne atrybuty renderowania.

Wynik uruchomienia klasy:

fillText
Rys. 25_18. Metoda fillText