JavaFX - Metin
Çeşitli şekiller gibi, JavaFX'te de bir metin düğümü oluşturabilirsiniz. Metin düğümü, adlı sınıf tarafından temsil edilir.Textpakete ait olan javafx.scene.text.
Bu sınıf, JavaFX'te metin oluşturmak ve görünümünü değiştirmek için çeşitli özellikler içerir. Bu sınıf ayrıca pakete ait olan Shape sınıfını da miras alır.javafx.scene.shape.
Bu nedenle, yazı tipi, hizalama, satır aralığı, metin vb. Gibi metnin özelliklerine ek olarak, ayrıca aşağıdaki gibi temel şekil düğümü özelliklerini de miras alır. strokeFill, stroke, strokeWidth, strokeType, vb.
Bir Metin Düğümü Oluşturma
Paketin sınıfından beri javafx.scene.text JavaFX'teki metin düğümünü temsil eder, bu sınıfı aşağıdaki gibi başlatarak bir metin oluşturabilirsiniz -
Text text = new Text();
Metin sınıfı, text Oluşturulacak metni temsil eden dize türü.
Text sınıfının örneğini oluşturduktan sonra, şunu kullanarak bu özelliğe değer ayarlamanız gerekir. setText() yöntemi aşağıda gösterildiği gibi.
String text = "Hello how are you"
Text.setText(text);
Ayrıca, ilgili ayarlayıcı yöntemlerini kullanarak x ve y özelliklerine değerleri belirterek metnin konumunu (başlangıç noktasını) ayarlayabilirsiniz. setX() ve setY() aşağıdaki kod bloğunda gösterildiği gibi -
text.setX(50);
text.setY(50);
Misal
Aşağıdaki program, JavaFX'te bir metin düğümünün nasıl oluşturulacağını gösteren bir örnektir. Bu kodu adıyla bir dosyaya kaydedinTextExample.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);
}
}
Kaydedilen java dosyasını aşağıdaki komutları kullanarak komut isteminden derleyin ve yürütün.
javac TextExample.java
java TextExample
Yürütüldüğünde, yukarıdaki program, belirtilen metni aşağıdaki gibi görüntüleyen bir JavaFX penceresi oluşturur -
Metnin Konumu ve Yazı Tipi
Varsayılan olarak, metin sınıfı tarafından oluşturulan metin yazı tipi…, boyut… ve siyah renklidir.
Metnin yazı tipi boyutunu ve rengini değiştirmek için setFont()yöntem. Bu yöntem, bir nesneyi kabul eder.Font sınıf.
Adlı sınıf Font paketin javafx.scene.textmetnin yazı tipini tanımlamak için kullanılır. Bu sınıf, adında statik bir yöntem içerirfont().
Bu yöntem şu dört parametreyi kabul eder -
family - Bu bir String tipindedir ve metne uygulamak istediğimiz font ailesini temsil eder.
weight- Bu özellik, yazı tipinin ağırlığını temsil eder. 9 değeri kabul eder, bunlar -FontWeight.BLACK, FontWeight.BOLD, FontWeight.EXTRA_BOLD, FontWeight.EXTRA_LIGHT, LIGHT, MEDIUM, NORMAL, SEMI_BOLD, THIN.
posture- Bu özellik yazı tipi duruşunu temsil eder (normal veya italik). İki değeri kabul ederFontPosture.REGULAR ve FontPosture.ITALIC.
size - Bu özellik double türündedir ve yazı tipinin boyutunu temsil eder.
Aşağıdaki yöntemi kullanarak yazı tipini metne ayarlayabilirsiniz -
text.setFont(Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 20));
Misal
Aşağıdaki program, JavaFX'te metin düğümünün yazı tipinin nasıl ayarlanacağını gösteren bir örnektir. Burada yazı tipini Verdana, ağırlığı kalın, duruşu normal ve boyutu 20 olarak ayarlıyoruz.
Bu kodu adıyla bir dosyaya kaydedin 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);
}
}
Kaydedilen java dosyasını aşağıdaki komutları kullanarak komut isteminden derleyin ve yürütün.
javac TextFontExample.java
java TextFontExample
Yürütüldüğünde, yukarıdaki program, metni belirtilen yazı tipiyle aşağıdaki gibi görüntüleyen bir JavaFX penceresi oluşturur -
Vuruş ve Renk
Text sınıfı ayrıca paketin Shape sınıfını da miras alır. Bu nedenle kullanabilirsinizjavafx.scene.shape konturu ve rengi metin düğümüne de ayarlayabilirsiniz.
Kullanarak metne rengi ayarlayabilirsiniz. setFill() şekil (miras alınan) sınıfının yöntemi aşağıdaki gibidir -
text.setFill(Color.BEIGE);
Benzer şekilde, yöntemi kullanarak metnin kontur rengini ayarlayabilirsiniz. setStroke(). Yöntem kullanılarak konturun genişliği ayarlanabilirkensetStrokeWidth() aşağıdaki gibi -
//Setting the color
text.setFill(Color.BROWN);
//Setting the Stroke
text.setStrokeWidth(2);
//Setting the stroke color
text.setStroke(Color.BLUE);
Misal
Aşağıdaki program, metin düğümünün renginin, vuruş genişliğinin ve strokColor'unun nasıl ayarlanacağını gösteren bir örnektir. Bu kodda, kontur rengini - mavi, metin rengini - kahverengi ve kontur genişliğini - 2 olarak ayarlıyoruz.
Bu kodu adıyla bir dosyaya kaydedin 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);
}
}
Kaydedilen java dosyasını aşağıdaki komutları kullanarak komut isteminden derleyin ve yürütün.
javac StrokeExample.java
java StrokeExample
Yürütüldüğünde, yukarıdaki program, metni belirtilen vuruş ve renk nitelikleriyle aşağıdaki gibi görüntüleyen bir JavaFX penceresi oluşturur -
Metne Dekorasyon Uygulama
Üstü çizili gibi süslemeler de uygulayabilirsiniz; bu durumda metinden bir satır geçilir. Yöntemlerini kullanarak bir metnin altını çizebilirsiniz.Text sınıf.
Yöntemi kullanarak metnin üstünü çizebilirsiniz setStrikethrough(). Bu bir Boole değerini kabul eder, değeri iletirtrue aşağıdaki kod kutusunda gösterildiği gibi metnin üstünü çizmek için bu yönteme -
//Striking through the text
text1.setStrikethrough(true);
Aynı şekilde, değerini ileterek bir metnin altını çizebilirsiniz. true yönteme setUnderLine() aşağıdaki gibi -
//underlining the text
text2.setUnderline(true);
Misal
Aşağıdaki program, aşağıdaki gibi dekorasyonların nasıl uygulanacağını gösteren bir örnektir. underline veya strike throughbir metne. Bu kodu adıyla bir dosyaya kaydedinDecorationsExample.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);
}
}
Kaydedilen Java dosyasını aşağıdaki komutları kullanarak komut isteminden derleyin ve yürütün.
javac DecorationsExample.java
java DecorationsExample
Yürütüldüğünde, yukarıdaki program aşağıda gösterildiği gibi bir JavaFX penceresi oluşturur -