شرح الكلاس Text في javafx

شرح  الكلاس Text

الكلاس Text يستخدم لإضافة نص (Text) في واجهة المستخدم يمكن إظهاره بشكل رائع جداً.


بناء الكلاس Text

@DefaultProperty(value="text")
public class Text
extends Shape
	

كونستركتورات الكلاس Text

الجدول التالي يحتوي على كونستركتورات الكلاس الـText.

الكونستركتور مع تعريفه
public Text() ينشئ كائن من الكلاس Text يمثل نص فارغ.
public Text(String text) ينشئ كائن من الكلاس Text يمثل نص.
مكان الباراميتر text نمرر النص الذي نريد عرضه.
public Text(double x, double y, String text) ينشئ كائن من الكلاس Text يمثل نص مع تحديد مكان ظهوره في النافذة.
  • مكان الباراميتر x نضع رقم يمثل كم Pixel سيتم إزاحة النص من اليسار إلى اليمين.

  • مكان الباراميتر y نضع رقم يمثل كم Pixel سيتم إزاحة النص من الأعلى إلى الأسفل.

  • مكان الباراميتر text نمرر النص الذي نريد وضعه في العنوان.

دوال الكلاس Text

الجدول التالي يحتوي على دوال الكلاس Text الأكثر إستخداماً.

الدالة مع تعريفها
public String getText() ترجع نص كائن الـ Text الذي قام بإستدعائها كنص.
public void setText(String text) تستخدم لتبديل نص كائن الـ Text الذي قام بإستدعائها.
مكان الباراميتر text نضع النص الجديد.
public final void setFill(Paint value) تستخدم لتحديد لون نص كائن الـ Text الذي قام بإستدعائها.
مكان الباراميتر value نضع كائن من إحدى الكلاسات التي ترث من الكلاس Paint و التي يمكن إستخدامها لتحديد درجة اللون.
public final void setStroke(Paint value) تستخدم لإضافة لون ثاني حول نص كائن الـ Text الذي قام بإستدعائها.
مكان الباراميتر value نضع كائن من إحدى الكلاسات التي ترث من الكلاس Paint و التي يمكن إستخدامها لتحديد درجة اللون.
public final void setStrokeWidth(double value) تستخدم لتحديد سُمك اللون ثاني ( الخارجي ) الذي نضيفه حول نص كائن الـ Text الذي قام بإستدعائها.
مكان الباراميتر value نضع رقم أكبر من 0.0 يمثل سُمك اللون الخارجي.
ملاحظة: سُمك اللون الخارجي الإفتراضي هو 1.0.
public final void setFont(Font newFont) تستخدم لتحديد حجم و نوع خط كائن الـ Text الذي قام بإستدعائها.
مكان الباراميتر newFont نضع كائن من الكلاس Font يمثل خصائص الخط الجديد.
public final void setUnderline(boolean value) تستخدم لوضع خط تحت نص كائن الـ Text الذي قام بإستدعائها.
مكان الباراميتر value نضع القيمة true لإظهار خط تحت النص.
public final void setStrikethrough(boolean value) تستخدم لوضع خط على نص كائن الـ Text الذي قام بإستدعائها ليظهر كأنه مشطوب.
مكان الباراميتر value نضع القيمة true لإظهار خط على النص.
public final void setRotate(double degree) تستخدم لإدارة نص كائن الـ Text الذي قام بإستدعائها.
مكان الباراميتر degree نضع رقم يمثل درجة الدوران.
public final void setWrappingWidth(double value) تستخدم لتحديد عرض نص كائن الـ Text الذي قام بإستدعائها مما يجعله ينزل على سطر جديد في حال كان لا يسع في سطر واحد.
مكان الباراميتر value نضع رقم يمثل عرض كائن الـ Text بالـ Pixel.
public final void setLineSpacing(double value) تستخدم لتحديد المسافة بين كل سطرين في نص كائن الـ Text الذي قام باستدعائها.
مكان الباراميتر value نضع رقم يمثل المسافة بين كل سطرين بالـ Pixel.
public final void setScaleX(double value) تستخدم لتمطيط حجم كائن الـ Text الذي قام باستدعائها بشكل أفقي.
مكان الباراميتر value نضع رقم يمثل كم مرة سيتم مضاعفة حجمه أفقياً.
public final void setScaleY(double value) تستخدم لتمطيط حجم كائن الـ Text الذي قام باستدعائها بشكل عامودي.
مكان الباراميتر value نضع رقم يمثل كم مرة سيتم مضاعفة حجمه عامودياً.
public final void setX(double value) تستخدم لتحديد مكان كائن الـ Text الذي قام باستدعائها أفقياً.
مكان الباراميتر value نضع رقم يمثل كم Pixel سيتم إزاحته من اليسار إلى اليمين.
public final void setY(double value) تستخدم لتحديد مكان كائن الـ Text الذي قام باستدعائها عامودياً.
مكان الباراميتر value نضع رقم يمثل كم Pixel سيتم إزاحته من الأعلى إلى الأسفل.
public final void setEffect(Effect value) تستخدم لإضافة مؤثرات على نص كائن الـ Text الذي قام باستدعائها.
مكان الباراميتر value نمرر كائن من كلاس يرث من الكلاس Effectو الذي بدوره يمثل خصائص التأثير الذي سيضاف على النص.
public final void setStyle(String value) تستخدم لتعديل تصميم كائن الـ Text الذي قام بإستدعائها.
مكان الباراميتر value يمكنك تمرير إسم و قيمة أي خاصية تريد تعديلها في كائن الـ Text بأسلوب لغة CSS لإظهاره بالشكل الذي تريده.

أمثلة شاملة للتعامل مع الكلاس Text


  طريقة إنشاء كائن من الكلاس Text و إضافته في النافذة.

المثال التالي يعلمك طريقة إنشاء كائن من الكلاس Text و إضافته في النافذة.

مثال طريقة إنشاء كائن من الكلاس Text و إضافته في النافذة.

Main.java
      import javafx.application.Application;
      import javafx.scene.Group;
      import javafx.scene.Scene;
      import javafx.scene.text.Text;
      import javafx.stage.Stage;

      public class Main extends Application {

      @Override
      public void start(Stage stage) {

      // يمثل النص الذي نريد إضافته في النافذة Text هنا قمنا بإنشاء كائن من الكلاس
      Text text = new Text("HARMASH.COM");

      // في النافذة text هنا قمنا بتحديد مكان ظهور الكائن
      text.setX(150);
      text.setY(130);

      // في النافذة Root Node لأننا ننوي جعله الـ Group هنا قمنا بإنشاء كائن من الكلاس
      Group root = new Group();

      // root في الكائن text هنا قمنا بإضافة الكائن
      root.getChildren().add(text);

      // فيها و تحديد حجمها Node كأول root هنا قمنا بإنشاء محتوى النافذة مع تعيين الكائن
      Scene scene = new Scene(root, 400, 250);

      // هنا وضعنا عنوان للنافذة
      stage.setTitle("JavaFX Text");

      // أي وضعنا محتوى النافذة الذي قمنا بإنشائه للنافذة .stage في كائن الـ scene هنا وضعنا كائن الـ
      stage.setScene(scene);

      // هنا قمنا بإظهار النافذة
      stage.show();

      }

      // هنا قمنا بتشغيل التطبيق
      public static void main(String[] args) {
      launch(args);
      }

      }
    

ستظهر لك النافذة التالية عند التشغيل.

طريقة إضافة Text في javafx


  طريقة تغيير نوع و حجم خط الـText

المثال التالي يعلمك طريقة تغيير نوع و حجم خط الـText.

مثال طريقة تغيير نوع و حجم خط الـText.

Main.java
      import javafx.application.Application;
      import javafx.scene.Group;
      import javafx.scene.Scene;
      import javafx.scene.text.Font;
      import javafx.scene.text.Text;
      import javafx.stage.Stage;

      public class Main extends Application {

      @Override
      public void start(Stage stage) {

      // يمثل النص الذي نريد إضافته في النافذة Text هنا قمنا بإنشاء كائن من الكلاس
      Text text = new Text("HARMASH.COM");

      // في النافذة text هنا قمنا بتحديد مكان ظهور الكائن
      text.setX(95);
      text.setY(130);

      // text هنا قمنا بتغيير نوع و حجم خط الكائن
      text.setFont(new Font("Cambria", 32));

      // في النافذة Root Node لأننا ننوي جعله الـ Group هنا قمنا بإنشاء كائن من الكلاس
      Group root = new Group();

      // root في الكائن text هنا قمنا بإضافة الكائن
      root.getChildren().add(text);

      // فيها و تحديد حجمها Node كأول root هنا قمنا بإنشاء محتوى النافذة مع تعيين الكائن
      Scene scene = new Scene(root, 400, 250);

      // هنا وضعنا عنوان للنافذة
      stage.setTitle("JavaFX Text");

      // أي وضعنا محتوى النافذة الذي قمنا بإنشائه للنافذة .stage في كائن الـ scene هنا وضعنا كائن الـ
      stage.setScene(scene);

      // هنا قمنا بإظهار النافذة
      stage.show();

      }

      // هنا قمنا بتشغيل التطبيق
      public static void main(String[] args) {
      launch(args);
      }

      }
    

ستظهر لك النافذة التالية عند التشغيل.

طريقة تغيير نوع و حجم خط الكائن Text في javafx


  طريقة تغيير لون الـ Text و إضافة لون ثاني حوله

المثال التالي يعلمك طريقة تغيير لون الـ Text و إضافة لون ثاني حوله.

مثال طريقة تغيير لون الـ Text و إضافة لون ثاني حوله.

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

      public class Main extends Application {

      @Override
      public void start(Stage stage) {

      // يمثل النص الذي نريد إضافته في النافذة Text هنا قمنا بإنشاء كائن من الكلاس
      Text text = new Text("HARMASH.COM");

      // في النافذة text هنا قمنا بتحديد مكان ظهور الكائن
      text.setX(45);
      text.setY(130);

      // text هنا قمنا بتغيير نوع و حجم خط الكائن
      text.setFont(new Font("Cambria", 46));

      // text هنا قمنا بتغيير لون خط الكائن
      text.setFill(Color.BROWN);

      // text هنا قمنا بتحديد حجم اللون الذي سنضيفه حول الكائن
      text.setStrokeWidth(1);

      // text هنا قمنا بإضافة لون حول الكائن
      text.setStroke(Color.BLUE);

      // في النافذة Root Node لأننا ننوي جعله الـ Group هنا قمنا بإنشاء كائن من الكلاس
      Group root = new Group();

      // root في الكائن text هنا قمنا بإضافة الكائن
      root.getChildren().add(text);

      // فيها و تحديد حجمها Node كأول root هنا قمنا بإنشاء محتوى النافذة مع تعيين الكائن
      Scene scene = new Scene(root, 400, 250);

      // هنا وضعنا عنوان للنافذة
      stage.setTitle("JavaFX Text");

      // أي وضعنا محتوى النافذة الذي قمنا بإنشائه للنافذة .stage في كائن الـ scene هنا وضعنا كائن الـ
      stage.setScene(scene);

      // هنا قمنا بإظهار النافذة
      stage.show();

      }

      // هنا قمنا بتشغيل التطبيق
      public static void main(String[] args) {
      launch(args);
      }

      }
    

ستظهر لك النافذة التالية عند التشغيل.

طريقة تغيير لون text و إضاقة هامش حوله في javafx


  طريقة تدريج لون الـ Text من لون لآخر

المثال التالي يعلمك طريقة تدريج لون الـ Text من لون لآخر.
معلومة: أسلوب عرض اللون بهذا الشكل يسمى ( Linear Gradient Fill ).

مثال طريقة تدريج لون الـ Text من لون لآخر.

Main.java
      import javafx.application.Application;
      import javafx.scene.Group;
      import javafx.scene.Scene;
      import javafx.scene.text.Text;
      import javafx.stage.Stage;

      public class Main extends Application {

      @Override
      public void start(Stage stage) {

      // يمثل النص الذي نريد إضافته في النافذة Text هنا قمنا بإنشاء كائن من الكلاس
      Text text = new Text("HARMASH.COM");

      // في النافذة text هنا قمنا بتحديد مكان ظهور الكائن
      text.setX(28);
      text.setY(130);

      // text هنا قمنا بتغيير تصميم الكائن
      // Tahoma حجم الخط جعلناه 50 بيكسل و نوع الخط جعلناه
      // لون الخط جعلناه يتدرج من اليسار إلى اليمين من اللون الأحمر إلى اللون البنفسجي
      // و أضفنا اللون الأسود حول اللون الأساسي و حددنا أن حجم اللون الأسود هو 1.5
      text.setStyle(
      "-fx-font: 50px Tahoma;"
      + "-fx-fill: linear-gradient(from 0% 0% to 100% 200%, repeat, red 0%, purple 50%);"
      + "-fx-stroke: black;"
      + "-fx-stroke-width: 1.5;"
      );

      // في النافذة Root Node لأننا ننوي جعله الـ Group هنا قمنا بإنشاء كائن من الكلاس
      Group root = new Group();

      // root في الكائن text هنا قمنا بإضافة الكائن
      root.getChildren().add(text);

      // فيها و تحديد حجمها Node كأول root هنا قمنا بإنشاء محتوى النافذة مع تعيين الكائن
      Scene scene = new Scene(root, 400, 250);

      // هنا وضعنا عنوان للنافذة
      stage.setTitle("JavaFX Text");

      // أي وضعنا محتوى النافذة الذي قمنا بإنشائه للنافذة .stage في كائن الـ scene هنا وضعنا كائن الـ
      stage.setScene(scene);

      // هنا قمنا بإظهار النافذة
      stage.show();

      }

      // هنا قمنا بتشغيل التطبيق
      public static void main(String[] args) {
      launch(args);
      }

      }
    

ستظهر لك النافذة التالية عند التشغيل.

طريقة تدريج لون الكائن Text من لون لآخر في javafx


  طريقة عرض نص الـ Text بشكل ضبابي

المثال التالي يعلمك طريقة عرض نص الـ Text بشكل ضبابي.
معلومة: أسلوب عرض النص بهذا الشكل يسمى ( Blur Effect ).

مثال طريقة عرض نص الـ Text بشكل ضبابي.

Main.java
      import javafx.application.Application;
      import javafx.scene.Group;
      import javafx.scene.Scene;
      import javafx.scene.effect.GaussianBlur;
      import javafx.scene.paint.Color;
      import javafx.scene.text.Font;
      import javafx.scene.text.FontWeight;
      import javafx.scene.text.Text;
      import javafx.stage.Stage;

      public class Main extends Application {

      @Override
      public void start(Stage stage) {

      // يمثل النص الذي نريد إضافته في النافذة Text هنا قمنا بإنشاء كائن من الكلاس
      Text text = new Text("HARMASH.COM");

      // في النافذة text هنا قمنا بتحديد مكان ظهور الكائن
      text.setX(45);
      text.setY(130);

      // text هنا قمنا بتغيير نوع و حجم خط الكائن
      text.setFont(Font.font("Tahoma", FontWeight.BOLD, 40));

      // text هنا قمنا بتغيير لون خط الكائن
      text.setFill(Color.RED);

      // يظهر بشكل ضبابي text هنا قمنا بجعل نص الكائن
      text.setCache(true);
      text.setEffect(new GaussianBlur());

      // في النافذة Root Node لأننا ننوي جعله الـ Group هنا قمنا بإنشاء كائن من الكلاس
      Group root = new Group();

      // root في الكائن text هنا قمنا بإضافة الكائن
      root.getChildren().add(text);

      // فيها و تحديد حجمها Node كأول root هنا قمنا بإنشاء محتوى النافذة مع تعيين الكائن
      Scene scene = new Scene(root, 400, 250);

      // هنا وضعنا عنوان للنافذة
      stage.setTitle("JavaFX Text");

      // أي وضعنا محتوى النافذة الذي قمنا بإنشائه للنافذة .stage في كائن الـ scene هنا وضعنا كائن الـ
      stage.setScene(scene);

      // هنا قمنا بإظهار النافذة
      stage.show();

      }

      // هنا قمنا بتشغيل التطبيق
      public static void main(String[] args) {
      launch(args);
      }

      }
    

ستظهر لك النافذة التالية عند التشغيل.

طريقة عرض نص الـ Text بشكل ضبابي في javafx


  طريقة إضافة خيال لنص الـ Text

المثال التالي يعلمك طريقة إضافة خيال لنص الـ Text.
معلومة: أسلوب وضع الخيال للنص بهذا الشكل يسمى ( Drop Shadow Effect ).

مثال طريقة إضافة خيال لنص الـ Text

Main.java
      import javafx.application.Application;
      import javafx.scene.Group;
      import javafx.scene.Scene;
      import javafx.scene.effect.DropShadow;
      import javafx.scene.effect.InnerShadow;
      import javafx.scene.paint.Color;
      import javafx.scene.text.Font;
      import javafx.scene.text.FontWeight;
      import javafx.scene.text.Text;
      import javafx.stage.Stage;

      public class Main extends Application {

      @Override
      public void start(Stage stage) {

      // يمثل النص الذي نريد إضافته في النافذة Text هنا قمنا بإنشاء كائن من الكلاس
      Text text = new Text("HARMASH.COM");

      // في النافذة text هنا قمنا بتحديد مكان ظهور الكائن
      text.setX(45);
      text.setY(130);

      // text هنا قمنا بتغيير نوع و حجم خط الكائن
      text.setFont(Font.font("Tahoma", FontWeight.BOLD, 40));

      // text هنا قمنا بتغيير لون خط الكائن
      text.setFill(Color.RED);

      // يمثل الخيال الذي سيظهر تحت الشيء الذي ندمجه معه DropShadow هنا قمنا بإنشاء كائن من الكلاس
      DropShadow dropShadow = new DropShadow();
      dropShadow.setOffsetX(2.0f);
      dropShadow.setOffsetY(4.0f);

      // text للكائن dropShadow هنا قمنا بوضع الخيال الذي يمثله الكائن
      text.setEffect(dropShadow);

      // في النافذة Root Node لأننا ننوي جعله الـ Group هنا قمنا بإنشاء كائن من الكلاس
      Group root = new Group();

      // root في الكائن text هنا قمنا بإضافة الكائن
      root.getChildren().add(text);

      // فيها و تحديد حجمها Node كأول root هنا قمنا بإنشاء محتوى النافذة مع تعيين الكائن
      Scene scene = new Scene(root, 400, 250);

      // هنا وضعنا عنوان للنافذة
      stage.setTitle("JavaFX Text");

      // أي وضعنا محتوى النافذة الذي قمنا بإنشائه للنافذة .stage في كائن الـ scene هنا وضعنا كائن الـ
      stage.setScene(scene);

      // هنا قمنا بإظهار النافذة
      stage.show();

      }

      // هنا قمنا بتشغيل التطبيق
      public static void main(String[] args) {
      launch(args);
      }

      }
    

ستظهر لك النافذة التالية عند التشغيل.

طريقة إضافة خيال لنص الـ Text في javafx


  طريقة إضافة خيال داخل نص الـ Text

المثال التالي يعلمك طريقة إضافة خيال داخل نص الـ Text.
معلومة: أسلوب وضع الخيال للنص بهذا الشكل يسمى ( Inner Shadow Effect ).

مثال طريقة إضافة خيال داخل نص الـ Text.

Main.java
      import javafx.application.Application;
      import javafx.scene.Group;
      import javafx.scene.Scene;
      import javafx.scene.effect.InnerShadow;
      import javafx.scene.paint.Color;
      import javafx.scene.text.Font;
      import javafx.scene.text.FontWeight;
      import javafx.scene.text.Text;
      import javafx.stage.Stage;

      public class Main extends Application {

      @Override
      public void start(Stage stage) {

      // يمثل النص الذي نريد إضافته في النافذة Text هنا قمنا بإنشاء كائن من الكلاس
      Text text = new Text("HARMASH.COM");

      // في النافذة text هنا قمنا بتحديد مكان ظهور الكائن
      text.setX(45);
      text.setY(130);

      // text هنا قمنا بتغيير نوع و حجم خط الكائن
      text.setFont(Font.font("Tahoma", FontWeight.BOLD, 40));

      // text هنا قمنا بتغيير لون خط الكائن
      text.setFill(Color.CADETBLUE);

      // يمثل الخيال الذي سيظهر بداخل الشيء الذي ندمجه معه DropShadow هنا قمنا بإنشاء كائن من الكلاس
      InnerShadow innerShadow = new InnerShadow();
      innerShadow.setOffsetX(4.0f);
      innerShadow.setOffsetY(4.0f);

      // text للكائن dropShadow هنا قمنا بوضع الخيال الذي يمثله الكائن
      text.setEffect(innerShadow);

      // في النافذة Root Node لأننا ننوي جعله الـ Group هنا قمنا بإنشاء كائن من الكلاس
      Group root = new Group();

      // root في الكائن text هنا قمنا بإضافة الكائن
      root.getChildren().add(text);

      // فيها و تحديد حجمها Node كأول root هنا قمنا بإنشاء محتوى النافذة مع تعيين الكائن
      Scene scene = new Scene(root, 400, 250);

      // هنا وضعنا عنوان للنافذة
      stage.setTitle("JavaFX Text");

      // أي وضعنا محتوى النافذة الذي قمنا بإنشائه للنافذة .stage في كائن الـ scene هنا وضعنا كائن الـ
      stage.setScene(scene);

      // هنا قمنا بإظهار النافذة
      stage.show();

      }

      // هنا قمنا بتشغيل التطبيق
      public static void main(String[] args) {
      launch(args);
      }

      }
    

ستظهر لك النافذة التالية عند التشغيل.

طريقة إضافة خيال داخل نص الـ Text في javafx


  طريقة إضافة تأثير الإنعكاس لنص الـ Text

المثال التالي يعلمك طريقة إضافة تأثير الإنعكاس لنص الـ Text.
معلومة: أسلوب عكس صورة النص بهذا الشكل يسمى ( Reflection Effect ).

مثال طريقة إضافة تأثير الإنعكاس لنص الـ Text.

Main.java
      import javafx.application.Application;
      import javafx.scene.Group;
      import javafx.scene.Scene;
      import javafx.scene.effect.Reflection;
      import javafx.scene.paint.Color;
      import javafx.scene.text.Font;
      import javafx.scene.text.FontWeight;
      import javafx.scene.text.Text;
      import javafx.stage.Stage;

      public class Main extends Application {

      @Override
      public void start(Stage stage) {

      // يمثل النص الذي نريد إضافته في النافذة Text هنا قمنا بإنشاء كائن من الكلاس
      Text text = new Text("HARMASH.COM");

      // في النافذة text هنا قمنا بتحديد مكان ظهور الكائن
      text.setX(45);
      text.setY(120);

      // text هنا قمنا بتغيير نوع و حجم خط الكائن
      text.setFont(Font.font("Tahoma", FontWeight.BOLD, 40));

      // text هنا قمنا بتغيير لون خط الكائن
      text.setFill(Color.CADETBLUE);

      // لأننا سنستخدمه للحصول على تأثير الإنعكاس Reflection هنا قمنا بإنشاء كائن من الكلاس
      Reflection reflection = new Reflection();
      reflection.setFraction(0.7f);

      // text على الكائن dropShadow هنا قمنا بتطبيق تأثير الإنعكاس الذي يمثله الكائن
      text.setCache(true);
      text.setEffect(reflection);

      // في النافذة Root Node لأننا ننوي جعله الـ Group هنا قمنا بإنشاء كائن من الكلاس
      Group root = new Group();

      // root في الكائن text هنا قمنا بإضافة الكائن
      root.getChildren().add(text);

      // فيها و تحديد حجمها Node كأول root هنا قمنا بإنشاء محتوى النافذة مع تعيين الكائن
      Scene scene = new Scene(root, 400, 250);

      // هنا وضعنا عنوان للنافذة
      stage.setTitle("JavaFX Text");

      // أي وضعنا محتوى النافذة الذي قمنا بإنشائه للنافذة .stage في كائن الـ scene هنا وضعنا كائن الـ
      stage.setScene(scene);

      // هنا قمنا بإظهار النافذة
      stage.show();

      }

      // هنا قمنا بتشغيل التطبيق
      public static void main(String[] args) {
      launch(args);
      }

      }
    

ستظهر لك النافذة التالية عند التشغيل.

طريقة إضافة تأثير الإنعكاس لنص الـ Text في javafx


  طريقة عرض نص الـ Text من منظور مختلف

المثال التالي يعلمك طريقة عرض نص الـ Text من منظور مختلف.
معلومة: أسلوب عرض النص بهذا الشكل يسمى ( Perspective Effect ).

مثال طريقة عرض نص الـ Text من منظور مختلف.

Main.java
      import javafx.application.Application;
      import javafx.scene.Group;
      import javafx.scene.Scene;
      import javafx.scene.effect.PerspectiveTransform;
      import javafx.scene.paint.Color;
      import javafx.scene.shape.Rectangle;
      import javafx.scene.text.Font;
      import javafx.scene.text.FontWeight;
      import javafx.scene.text.Text;
      import javafx.stage.Stage;

      public class Main extends Application {

      @Override
      public void start(Stage stage) {

      // يمثلان النص و المستطيل اللذين سنضيفهما في النافذة Rectangle و كائن من الكلاس Text هنا قمنا بإنشاء كائن من الكلاس
      Text text = new Text("HARMASH.COM");
      Rectangle rectangle = new Rectangle();

      // rectangle هنا قمنا بتحديد حجم الكائن
      rectangle.setWidth(280.0f);
      rectangle.setHeight(80.0f);

      // text هنا قمنا بتغيير نوع و حجم خط الكائن
      text.setFont(Font.font("Tahoma", FontWeight.BOLD, 40));

      // rectangle و لون الكائن text هنا قمنا بتغيير لون خط الكائن
      text.setFill(Color.YELLOW);
      rectangle.setFill(Color.BLUE);

      // يمثل تأثير المنظور PerspectiveTransform هنا قمنا بإنشاء كائن من الكلاس
      PerspectiveTransform pt = new PerspectiveTransform();

      // هنا قمنا بتحديد المنطقة التي ستتأثر بهذا المنظور
      // y و x فعلياً قمنا بتحديد مكان 4 نقاط و كل نقطة أعطيناها قيمة
      pt.setUlx(40.0f);
      pt.setUly(80.0f);
      pt.setUrx(350.0f);
      pt.setUry(110.0f);
      pt.setLrx(350.0f);
      pt.setLry(130.0f);
      pt.setLlx(40.0f);
      pt.setLly(160.0f);

      // للحصول على أداء أفضل فقط setCache() هنا قمنا باستدعاء الدالة 
      text.setCache(true);
      rectangle.setCache(true);

      // rectangle و text على الكائنين pt هنا قمنا بتطبيق تأثير المنظور الذي يمثله الكائن
      text.setEffect(pt);
      rectangle.setEffect(pt);

      // في النافذة Root Node لأننا ننوي جعله الـ Group هنا قمنا بإنشاء كائن من الكلاس
      Group root = new Group();

      // root في الكائن text هنا قمنا بإضافة الكائن
      root.getChildren().add(rectangle);
      root.getChildren().add(text);

      // فيها و تحديد حجمها Node كأول root هنا قمنا بإنشاء محتوى النافذة مع تعيين الكائن
      Scene scene = new Scene(root, 400, 250);

      // هنا وضعنا عنوان للنافذة
      stage.setTitle("JavaFX Text");

      // أي وضعنا محتوى النافذة الذي قمنا بإنشائه للنافذة .stage في كائن الـ scene هنا وضعنا كائن الـ
      stage.setScene(scene);

      // هنا قمنا بإظهار النافذة
      stage.show();

      }

      // هنا قمنا بتشغيل التطبيق
      public static void main(String[] args) {
      launch(args);
      }

      }
    

ستظهر لك النافذة التالية عند التشغيل.

طريقة عرض نص الـ Text من منظور مختلف في javafx


  طريقة وضع خط على الـ Text و تحت الـ Text

المثال التالي يعلمك طريقة وضع خط على الـ Text و تحت الـ Text.

مثال طريقة وضع خط على الـ Text و تحت الـ Text.

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

      public class Main extends Application {

      @Override
      public void start(Stage stage) {

      // يمثلان النصين اللذين نريد إضافتهما في النافذة Text هنا قمنا بإنشاء كائنين من الكلاس
      Text text1 = new Text("Plan A");
      Text text2 = new Text("Plan B");

      // في النافذة text2 و text1 هنا قمنا بتحديد مكان ظهور الكائنين
      text1.setX(90);
      text1.setY(90);
      text2.setX(150);
      text2.setY(140);

      // text2 و text1 هنا قمنا بتغيير نوع و حجم خط الكائنين
      text1.setFont(new Font("Cambria", 28));
      text2.setFont(new Font("Cambria", 28));

      // text2 هنا قمنا بتغيير لون خط الكائن
      text2.setFill(Color.RED);

      // text1 هنا قمنا بإظهار خط فوق نص الكائن
      text1.setStrikethrough(true);

      // text2 هنا قمنا بإظهار خط تحت نص الكائن
      text2.setUnderline(true);

      // في النافذة Root Node لأننا ننوي جعله الـ Group هنا قمنا بإنشاء كائن من الكلاس
      Group root = new Group();

      // root في الكائن text2 و text1 هنا قمنا بإضافة الكائنين
      root.getChildren().add(text1);
      root.getChildren().add(text2);

      // فيها و تحديد حجمها Node كأول root هنا قمنا بإنشاء محتوى النافذة مع تعيين الكائن
      Scene scene = new Scene(root, 400, 250);

      // هنا وضعنا عنوان للنافذة
      stage.setTitle("JavaFX Text");

      // أي وضعنا محتوى النافذة الذي قمنا بإنشائه للنافذة .stage في كائن الـ scene هنا وضعنا كائن الـ
      stage.setScene(scene);

      // هنا قمنا بإظهار النافذة
      stage.show();

      }

      // هنا قمنا بتشغيل التطبيق
      public static void main(String[] args) {
      launch(args);
      }

      }
    

ستظهر لك النافذة التالية عند التشغيل.

طريقة إضافة أيقونة للـ Text مع تحديد مكان ظهورها في javafx


دورة شاملة لتعلم برمجة   javaFX