JavaFX الدالة Shape.union()

لدمج الأجزاء المشتركة و الغير مشتركة بين الأشكال مع بعضها نستخدم الدالة الثابتة Shape.union().
بعد أن تقوم بدمج الأشكال ترجع كائن من الكلاس Shape يمثل الشكل الجديد.


عملية دمج الأجزاء المشتركة و الغير مشتركة بين الأشكال مع بعضها البعض كما فعلنا في المثال التالي يقال لها Union Operation.

مثال

Main.java
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.scene.shape.Shape;
import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(Stage stage) {

        // يمثلا المستطيلان اللذين نريد إضافتهما في النافذة Rectangle هنا قمنا بإنشاء كائنين من الكلاس
        Rectangle rectangle1 = new Rectangle();
        Rectangle rectangle2 = new Rectangle();

        // في النافذة rectangle2 و rectangle1 هنا قمنا بتحديد مكان ظهور الكائنين
        rectangle1.setX(80);
        rectangle1.setY(60);
        rectangle2.setX(170);
        rectangle2.setY(110);

        // rectangle2 و rectangle1 هنا قمنا بتحديد طول و عرض الكائنين
        rectangle1.setWidth(150);
        rectangle1.setHeight(80);
        rectangle2.setWidth(150);
        rectangle2.setHeight(80);

        // rectangle2 و rectangle1 يمثل الأجزاء المشتركة و الغير مشتركة بين الكائنين Shape للحصول على كائن union() هنا قمنا باستدعاء الدالة
        Shape shape = Shape.union(rectangle1, rectangle2);
        
		// هنا قمنا بتحديد لون الشكل الجديد, لون حدوده و سمك حدوده أيضاً
        shape.setStroke(Color.BLACK);
        shape.setFill(Color.CADETBLUE);
        shape.setStrokeWidth(3);
        
        // في النافذة Root Node لأننا ننوي جعله الـ Group هنا قمنا بإنشاء كائن من الكلاس
        Group root = new Group();

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

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

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

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

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

    }

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

}
		

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

مثال حول Union Operation في javafx

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة