Programming Basics SQL HTML CSS JavaScript Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Learn Typing

JavaFXطريقة رسم منحنى مكعب

الكلاس CubicCurve يستخدم للحصول على منحنى مكعب و الذي يشبه خط فيه إنحنائين.
الخط بدوره يتألف من أربع نقاط: نقطة البداية, نقطة النهاية, النقطة الأولى التي سينحني باتجاهها و النقطة الثانية التي سينحني باتجاهها.

  • لتحديد موقع نقطة بداية الخط نستخدم الدالتين setStartX() و setStartY().
  • لتحديد موقع نقطة بداية الخط نستخدم الدالتين setEndX() و setEndY().
  • لتحديد موقع النقطة الأولى التي سينحني الخط باتجاهها نستخدم الدالتين setControlX1() و setControlY1().
  • لتحديد موقع النقطة الثانية التي سينحني الخط باتجاهها نستخدم الدالتين setControlX2() و setControlY2().

المثال التالي يعلمك طريقة رسم منحنى مكعب, إعطاؤه لون و إضافته في النافذة.

مثال

Main.java
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.shape.CubicCurve;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage stage) {
// يمثل الخط المستقيم الذي نريد إضافته في النافذة QuadCurve هنا قمنا بإنشاء كائن من الكلاس
CubicCurve cubicCurve = new CubicCurve();
// في النافذة quadCurve هنا قمنا بتحديد موقع نقطة بداية الخط الذي يمثله الكائن
cubicCurve.setStartX(50);
cubicCurve.setStartY(125);
// في النافذة quadCurve هنا قمنا بتحديد موقع نقطة نهاية الخط الذي يمثله الكائن
cubicCurve.setEndX(350);
cubicCurve.setEndY(125);
// في النافذة quadCurve هنا قمنا بتحديد موقع أول نقطة سينجذب إليها الخط الذي يمثله الكائن
cubicCurve.setControlX1(150);
cubicCurve.setControlY1(20);
// في النافذة quadCurve هنا قمنا بتحديد موقع ثاني نقطة سينجذب إليها الخط الذي يمثله الكائن
cubicCurve.setControlX2(250);
cubicCurve.setControlY2(230);
// أحمر و جعلنا داخله شفافاً quadCurve هنا قمنا بجعل لون حدود الكائن
cubicCurve.setStroke(Color.RED);
cubicCurve.setFill(Color.TRANSPARENT);
// في النافذة Root Node لأننا ننوي جعله الـ Group هنا قمنا بإنشاء كائن من الكلاس
Group root = new Group();
// root في الكائن arc هنا قمنا بإضافة الكائن
root.getChildren().add(cubicCurve);
// فيها و تحديد حجمها Node كأول root هنا قمنا بإنشاء محتوى النافذة مع تعيين الكائن
Scene scene = new Scene(root, 400, 250);
// هنا وضعنا عنوان للنافذة
stage.setTitle("JavaFX CubicCurve");
// أي وضعنا محتوى النافذة الذي قمنا بإنشائه للنافذة .stage في كائن الـ scene هنا وضعنا كائن الـ
stage.setScene(scene);
// هنا قمنا بإظهار النافذة
stage.show();
}
// هنا قمنا بتشغيل التطبيق
public static void main(String[] args) {
launch(args);
}
}
import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.paint.Color; import javafx.scene.shape.CubicCurve; import javafx.stage.Stage; public class Main extends Application { @Override public void start(Stage stage) { // يمثل الخط المستقيم الذي نريد إضافته في النافذة QuadCurve هنا قمنا بإنشاء كائن من الكلاس CubicCurve cubicCurve = new CubicCurve(); // في النافذة quadCurve هنا قمنا بتحديد موقع نقطة بداية الخط الذي يمثله الكائن cubicCurve.setStartX(50); cubicCurve.setStartY(125); // في النافذة quadCurve هنا قمنا بتحديد موقع نقطة نهاية الخط الذي يمثله الكائن cubicCurve.setEndX(350); cubicCurve.setEndY(125); // في النافذة quadCurve هنا قمنا بتحديد موقع أول نقطة سينجذب إليها الخط الذي يمثله الكائن cubicCurve.setControlX1(150); cubicCurve.setControlY1(20); // في النافذة quadCurve هنا قمنا بتحديد موقع ثاني نقطة سينجذب إليها الخط الذي يمثله الكائن cubicCurve.setControlX2(250); cubicCurve.setControlY2(230); // أحمر و جعلنا داخله شفافاً quadCurve هنا قمنا بجعل لون حدود الكائن cubicCurve.setStroke(Color.RED); cubicCurve.setFill(Color.TRANSPARENT); // في النافذة Root Node لأننا ننوي جعله الـ Group هنا قمنا بإنشاء كائن من الكلاس Group root = new Group(); // root في الكائن arc هنا قمنا بإضافة الكائن root.getChildren().add(cubicCurve); // فيها و تحديد حجمها Node كأول root هنا قمنا بإنشاء محتوى النافذة مع تعيين الكائن Scene scene = new Scene(root, 400, 250); // هنا وضعنا عنوان للنافذة stage.setTitle("JavaFX CubicCurve"); // أي وضعنا محتوى النافذة الذي قمنا بإنشائه للنافذة .stage في كائن الـ scene هنا وضعنا كائن الـ stage.setScene(scene); // هنا قمنا بإظهار النافذة stage.show(); } // هنا قمنا بتشغيل التطبيق public static void main(String[] args) { launch(args); } }

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

مثال حول الكلاس CubicCurve في javafx