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 {
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 نقاط و كل نقطة أعطيناها قيمة
// للحصول على أداء أفضل فقط setCache() هنا قمنا باستدعاء الدالة
rectangle.setCache(true);
// rectangle و text على الكائنين 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 هنا وضعنا كائن الـ
// هنا قمنا بإظهار النافذة
// هنا قمنا بتشغيل التطبيق
public static void main(String[] args) {
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);
}
}