JavaFX - tekst
Podobnie jak różne kształty, możesz również utworzyć węzeł tekstowy w JavaFX. Węzeł tekstowy jest reprezentowany przez nazwaną klasęText, który należy do pakietu javafx.scene.text.
Ta klasa zawiera kilka właściwości służących do tworzenia tekstu w JavaFX i modyfikowania jego wyglądu. Ta klasa dziedziczy również klasę Shape, która należy do pakietujavafx.scene.shape.
Dlatego oprócz właściwości tekstu, takich jak czcionka, wyrównanie, odstępy między wierszami, tekst itp. Dziedziczy również podstawowe właściwości węzła kształtu, takie jak strokeFill, stroke, strokeWidth, strokeType, itp.
Tworzenie węzła tekstowego
Ponieważ klasa Text pakietu javafx.scene.text reprezentuje węzeł tekstowy w JavaFX, możesz utworzyć tekst, tworząc wystąpienie tej klasy w następujący sposób -
Text text = new Text();
Klasa Text zawiera właściwość o nazwie text typu string, który reprezentuje tekst, który ma zostać utworzony.
Po utworzeniu wystąpienia klasy Text należy ustawić wartość tej właściwości przy użyciu setText() metoda, jak pokazano poniżej.
String text = "Hello how are you"
Text.setText(text);
Możesz również ustawić pozycję (początek) tekstu, określając wartości właściwości x i y za pomocą odpowiednich metod ustawiających, a mianowicie setX() i setY() jak pokazano w poniższym bloku kodu -
text.setX(50);
text.setY(50);
Przykład
Poniższy program jest przykładem pokazującym, jak utworzyć węzeł tekstowy w JavaFX. Zapisz ten kod w pliku o nazwieTextExample.java.
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.text.Text;
public class TextExample extends Application {
@Override
public void start(Stage stage) {
//Creating a Text object
Text text = new Text();
//Setting the text to be added.
text.setText("Hello how are you");
//setting the position of the text
text.setX(50);
text.setY(50);
//Creating a Group object
Group root = new Group(text);
//Creating a scene object
Scene scene = new Scene(root, 600, 300);
//Setting title to the Stage
stage.setTitle("Sample Application");
//Adding scene to the stage
stage.setScene(scene);
//Displaying the contents of the stage
stage.show();
}
public static void main(String args[]){
launch(args);
}
}
Skompiluj i uruchom zapisany plik java z wiersza poleceń, używając następujących poleceń.
javac TextExample.java
java TextExample
Podczas wykonywania powyższy program generuje okno JavaFX wyświetlające określony tekst w następujący sposób -
Pozycja i czcionka tekstu
Domyślnie tekst utworzony przez klasę text ma czcionkę…, rozmiar… i kolor czarny.
Możesz zmienić rozmiar czcionki i kolor tekstu za pomocą setFont()metoda. Ta metoda akceptuje obiekt klasyFont klasa.
Klasa o nazwie Font pakietu javafx.scene.textsłuży do określenia czcionki tekstu. Ta klasa zawiera metodę statyczną o nazwiefont().
Ta metoda akceptuje cztery parametry, a mianowicie -
family - Jest to typ String i reprezentuje rodzinę czcionek, które chcemy zastosować w tekście.
weight- Ta właściwość reprezentuje wagę czcionki. Przyjmuje 9 wartości, którymi są -FontWeight.BLACK, FontWeight.BOLD, FontWeight.EXTRA_BOLD, FontWeight.EXTRA_LIGHT, LIGHT, MEDIUM, NORMAL, SEMI_BOLD, THIN.
posture- Ta właściwość reprezentuje pozycję czcionki (zwykła lub kursywa). Akceptuje dwie wartościFontPosture.REGULAR i FontPosture.ITALIC.
size - Ta właściwość jest typu double i reprezentuje rozmiar czcionki.
Możesz ustawić czcionkę w tekście za pomocą następującej metody -
text.setFont(Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 20));
Przykład
Poniższy program jest przykładem pokazującym, jak ustawić czcionkę węzła tekstowego w JavaFX. Tutaj ustawiamy czcionkę na Verdana, wagę na pogrubioną, postawę na regularną i rozmiar na 20.
Zapisz ten kod w pliku o nazwie TextFontExample.java.
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.text.Font;
import javafx.scene.text.FontPosture;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
public class TextFontExample extends Application {
@Override
public void start(Stage stage) {
//Creating a Text object
Text text = new Text();
//Setting font to the text
text.setFont(Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 20));
//setting the position of the text
text.setX(50);
text.setY(130);
//Setting the text to be added.
text.setText("Hi how are you");
//Creating a Group object
Group root = new Group(text);
//Creating a scene object
Scene scene = new Scene(root, 600, 300);
//Setting title to the Stage
stage.setTitle("Setting Font to the text");
//Adding scene to the stage
stage.setScene(scene);
//Displaying the contents of the stage
stage.show();
}
public static void main(String args[]){
launch(args);
}
}
Skompiluj i uruchom zapisany plik java z wiersza poleceń, używając następujących poleceń.
javac TextFontExample.java
java TextFontExample
Podczas wykonywania powyższy program generuje okno JavaFX wyświetlające tekst z określoną czcionką w następujący sposób -
Skok i kolor
Klasa Text dziedziczy również klasę Shape z pakietu. Dlatego możesz użyćjavafx.scene.shape za pomocą którego można ustawić obrys i kolor również dla węzła tekstowego.
Możesz ustawić kolor tekstu za pomocą setFill() metoda klasy shape (dziedziczona) w następujący sposób -
text.setFill(Color.BEIGE);
Podobnie możesz ustawić kolor obrysu tekstu za pomocą tej metody setStroke(). Natomiast szerokość obrysu można ustawić za pomocą metodysetStrokeWidth() w następujący sposób -
//Setting the color
text.setFill(Color.BROWN);
//Setting the Stroke
text.setStrokeWidth(2);
//Setting the stroke color
text.setStroke(Color.BLUE);
Przykład
Poniższy program jest przykładem, który demonstruje, jak ustawić kolor, strokeWidth i strokeColor węzła tekstowego. W tym kodzie ustawiamy kolor obrysu na - niebieski, kolor tekstu na - brązowy i szerokość obrysu na - 2.
Zapisz ten kod w pliku o nazwie StrokeExample.java.
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import javafx.scene.text.Font;
import javafx.scene.text.FontPosture;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
public class StrokeExample extends Application {
@Override
public void start(Stage stage) {
//Creating a Text object
Text text = new Text();
//Setting font to the text
text.setFont(Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 50));
//setting the position of the text
text.setX(50);
text.setY(130);
//Setting the color
text.setFill(Color.BROWN);
//Setting the Stroke
text.setStrokeWidth(2);
// Setting the stroke color
text.setStroke(Color.BLUE);
//Setting the text to be added.
text.setText("Hi how are you");
//Creating a Group object
Group root = new Group(text);
//Creating a scene object
Scene scene = new Scene(root, 600, 300);
//Setting title to the Stage
stage.setTitle("Setting font to the text");
//Adding scene to the stage
stage.setScene(scene);
//Displaying the contents of the stage
stage.show();
}
public static void main(String args[]){
launch(args);
}
}
Skompiluj i uruchom zapisany plik java z wiersza poleceń, używając następujących poleceń.
javac StrokeExample.java
java StrokeExample
Podczas wykonywania powyższy program generuje okno JavaFX wyświetlające tekst z określonymi atrybutami obrysu i koloru w następujący sposób -
Stosowanie dekoracji do tekstu
Możesz również zastosować dekoracje, takie jak przekreślenie; w takim przypadku wiersz przechodzi przez tekst. Możesz podkreślić tekst, korzystając z metodText klasa.
Możesz przekreślić tekst za pomocą metody setStrikethrough(). Przyjmuje wartość logiczną, przekazuje wartośćtrue do tej metody, aby przekreślić tekst, jak pokazano w poniższym polu kodu -
//Striking through the text
text1.setStrikethrough(true);
W ten sam sposób możesz podkreślić tekst, przekazując wartość true do metody setUnderLine() w następujący sposób -
//underlining the text
text2.setUnderline(true);
Przykład
Poniższy program jest przykładem pokazującym, jak zastosować dekoracje, takie jak underline lub strike throughdo tekstu. Zapisz ten kod w pliku o nazwieDecorationsExample.java.
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.text.Font;
import javafx.scene.text.FontPosture;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
public class DecorationsExample extends Application {
@Override
public void start(Stage stage) {
//Creating a Text_Example object
Text text1 = new Text("Hi how are you");
//Setting font to the text
text1.setFont(Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 20));
//setting the position of the text
text1.setX(50);
text1.setY(75);
//Striking through the text
text1.setStrikethrough(true);
//Creating a Text_Example object
Text text2 = new Text("Welcome to Tutorialspoint");
//Setting font to the text
text2.setFont(Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 20));
//setting the position of the text
text2.setX(50);
text2.setY(150);
//underlining the text
text2.setUnderline(true);
//Creating a Group object
Group root = new Group(text1, text2);
//Creating a scene object
Scene scene = new Scene(root, 600, 300);
//Setting title to the Stage
stage.setTitle("Decorations Example");
//Adding scene to the stage
stage.setScene(scene);
//Displaying the contents of the stage
stage.show();
}
public static void main(String args[]){
launch(args);
}
}
Skompiluj i uruchom zapisany plik Java z wiersza poleceń, używając następujących poleceń.
javac DecorationsExample.java
java DecorationsExample
Podczas wykonywania powyższy program generuje okno JavaFX, jak pokazano poniżej -