JavaFXالدالة Shape.union()
لدمج الأجزاء المشتركة و الغير مشتركة بين الأشكال مع بعضها نستخدم الدالة الثابتة Shape.union()
.
بعد أن تقوم بدمج الأشكال ترجع كائن من الكلاس Shape
يمثل الشكل الجديد.
عملية دمج الأجزاء المشتركة و الغير مشتركة بين الأشكال مع بعضها البعض كما فعلنا في المثال التالي يقال لها Union Operation.
مثال
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 { 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); } }
ستظهر لك النافذة التالية عند التشغيل.