import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.shape.LineTo;
import javafx.scene.shape.MoveTo;
import javafx.scene.shape.Path;
import javafx.scene.shape.QuadCurveTo;
import javafx.stage.Stage;
public class Main extends Application {
public void start(Stage stage) {
// و الذي سيمثل الجزء الأعلى الذي ننوي رسمه في النافذة Path هنا قمنا بإنشاء كائن من الكلاس
// يمثل النقطة الأولى في هذا الجزء MoveTo بعدها قمنا بإنشاء كائن من الكلاس
// يمثل النقطة التي سيقف عندها المنحنى الرباعي و النقطة التي سينجذب إليها في هذا الجزء QuadCurveTo بعدها قمنا بإنشاء كائن من الكلاس
MoveTo move1 = new MoveTo(150, 100);
QuadCurveTo quadCurve = new QuadCurveTo();
quadCurve.setControlX(200);
quadCurve.setControlY(0);
// أبيض و جعلنا حدوده أكثر سمكاً path1 هنا جعلنا لون داخل الكائن
path1.setFill(Color.WHITE);
// حتى نربطهم مع بعض path1 في الكائن quadCurve و move1 هنا قمنا بإضافة الكائنين
path1.getElements().addAll(move1, quadCurve);
// و الذي سيمثل الجزء الأسفل الذي ننوي رسمه في النافذة Path هنا قمنا بإنشاء كائن من الكلاس
// يمثل النقطة الأولى في هذا الجزء MoveTo بعدها قمنا بإنشاء كائن من الكلاس
// يمثل النقاط التي سيقف عندها كل خط مستقيم في هذا الجزء LineTo بعدها قمنا بإنشاء ثلاث كائنات من الكلاس
MoveTo move2 = new MoveTo(150, 100);
LineTo line1 = new LineTo(250, 100);
LineTo line2 = new LineTo(200, 220);
LineTo line3 = new LineTo(150, 100);
// حتى نربطهم مع بعض path2 في الكائن line3 ,line2 line1 و move2 هنا قمنا بإضافة الكائنان
path2.getElements().addAll(move2, line1, line2, line3);
// بني فاتح و جعلنا حدوده أكثر سمكاً path2 هنا جعلنا لون داخل الكائن
path2.setFill(Color.GOLDENROD);
// في النافذة Root Node لأننا ننوي جعله الـ Group هنا قمنا بإنشاء كائن من الكلاس
Group root = new Group();
// root في الكائن svgPath هنا قمنا بإضافة الكائن
root.getChildren().addAll(path1, path2);
// فيها و تحديد حجمها Node كأول root هنا قمنا بإنشاء محتوى النافذة مع تعيين الكائن
Scene scene = new Scene(root, 400, 270);
// أخضر, أي كأننا قمنا بتغيير لون خلفية النافذة scene هنا قمنا بجعل لون الكائن
scene.setFill(Color.PALEGREEN);
// هنا وضعنا عنوان للنافذة
stage.setTitle("JavaFX Path & PathElement");
// أي وضعنا محتوى النافذة الذي قمنا بإنشائه للنافذة .stage في كائن الـ scene هنا وضعنا كائن الـ
// هنا قمنا بإظهار النافذة
// هنا قمنا بتشغيل التطبيق
public static void main(String[] args) {
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.shape.LineTo;
import javafx.scene.shape.MoveTo;
import javafx.scene.shape.Path;
import javafx.scene.shape.QuadCurveTo;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage stage) {
// و الذي سيمثل الجزء الأعلى الذي ننوي رسمه في النافذة Path هنا قمنا بإنشاء كائن من الكلاس
// يمثل النقطة الأولى في هذا الجزء MoveTo بعدها قمنا بإنشاء كائن من الكلاس
// يمثل النقطة التي سيقف عندها المنحنى الرباعي و النقطة التي سينجذب إليها في هذا الجزء QuadCurveTo بعدها قمنا بإنشاء كائن من الكلاس
Path path1 = new Path();
MoveTo move1 = new MoveTo(150, 100);
QuadCurveTo quadCurve = new QuadCurveTo();
quadCurve.setX(250);
quadCurve.setY(100);
quadCurve.setControlX(200);
quadCurve.setControlY(0);
// أبيض و جعلنا حدوده أكثر سمكاً path1 هنا جعلنا لون داخل الكائن
path1.setFill(Color.WHITE);
path1.setStrokeWidth(3);
// حتى نربطهم مع بعض path1 في الكائن quadCurve و move1 هنا قمنا بإضافة الكائنين
path1.getElements().addAll(move1, quadCurve);
// و الذي سيمثل الجزء الأسفل الذي ننوي رسمه في النافذة Path هنا قمنا بإنشاء كائن من الكلاس
// يمثل النقطة الأولى في هذا الجزء MoveTo بعدها قمنا بإنشاء كائن من الكلاس
// يمثل النقاط التي سيقف عندها كل خط مستقيم في هذا الجزء LineTo بعدها قمنا بإنشاء ثلاث كائنات من الكلاس
Path path2 = new Path();
MoveTo move2 = new MoveTo(150, 100);
LineTo line1 = new LineTo(250, 100);
LineTo line2 = new LineTo(200, 220);
LineTo line3 = new LineTo(150, 100);
// حتى نربطهم مع بعض path2 في الكائن line3 ,line2 line1 و move2 هنا قمنا بإضافة الكائنان
path2.getElements().addAll(move2, line1, line2, line3);
// بني فاتح و جعلنا حدوده أكثر سمكاً path2 هنا جعلنا لون داخل الكائن
path2.setFill(Color.GOLDENROD);
path2.setStrokeWidth(3);
// في النافذة Root Node لأننا ننوي جعله الـ Group هنا قمنا بإنشاء كائن من الكلاس
Group root = new Group();
// root في الكائن svgPath هنا قمنا بإضافة الكائن
root.getChildren().addAll(path1, path2);
// فيها و تحديد حجمها Node كأول root هنا قمنا بإنشاء محتوى النافذة مع تعيين الكائن
Scene scene = new Scene(root, 400, 270);
// أخضر, أي كأننا قمنا بتغيير لون خلفية النافذة scene هنا قمنا بجعل لون الكائن
scene.setFill(Color.PALEGREEN);
// هنا وضعنا عنوان للنافذة
stage.setTitle("JavaFX Path & PathElement");
// أي وضعنا محتوى النافذة الذي قمنا بإنشائه للنافذة .stage في كائن الـ scene هنا وضعنا كائن الـ
stage.setScene(scene);
// هنا قمنا بإظهار النافذة
stage.show();
}
// هنا قمنا بتشغيل التطبيق
public static void main(String[] args) {
launch(args);
}
}