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 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 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 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: