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

JavaFXطريقة إضافة هامش من جميع الإتجاهات لأي شيء تم وضعه في BorderPane

المثال التالي يعلمك طريقة إضافة مسافة فارغة ( هامش ) من جميع الإتجاهات حول أي شيء تم وضعه في BorderPane.


مثال

Main.java
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.control.Button;
import javafx.scene.layout.BorderPane;

public class Main extends Application {

    @Override
    public void start(Stage stage) {
        
        // في النافذة Root Node و الذي ننوي جعله الـ BorderPane هنا قمنا بإنشاء كائن من الكلاس
        BorderPane root = new BorderPane();
        
        // root هنا قمنا بإنشاء جميع الأشياء التي سنضيفها في الكائن
        Button buttonCenter = new Button("Center");
        Button buttonTop    = new Button("Top");
        Button buttonRight  = new Button("Right");
        Button buttonBottom = new Button("Bottom");
        Button buttonLeft   = new Button("Left");
        
        // root هنا قمنا بتحديد موقع كل شيء سيتم إضافته في الكائن
        root.setCenter(buttonCenter);
        root.setTop(buttonTop);
        root.setRight(buttonRight);
        root.setBottom(buttonBottom);
        root.setLeft(buttonLeft);
        
        // من الأسفل فقط buttonTop هنا أضفنا هامش بمقدار 10 بيكسل حول الكائن
        BorderPane.setMargin(buttonTop, new Insets(0, 0, 10, 0));

        // من اليمين و اليسار فقط buttonCenter هنا أضفنا هامش بمقدار 10 بيكسل حول الكائن
        BorderPane.setMargin(buttonCenter, new Insets(0, 10, 0, 10));

        // من الأعلى فقط buttonTop هنا أضفنا هامش بمقدار 10 بيكسل حول الكائن
        BorderPane.setMargin(buttonBottom, new Insets(10, 0, 0, 0));
        
        // الذي سيتم عرضه في وسط النافذة يظهر على كل المساحة المتوفرة buttonCenter هنا قمنا بجعل الكائن
        buttonCenter.setPrefSize(Double.MAX_VALUE, Double.MAX_VALUE);

        // الذي سيتم عرضه في أعلى النافذة يظهر على كل المساحة المتوفرة بالعرض buttonTop هنا قمنا بجعل الكائن
        buttonTop.setPrefWidth(Double.MAX_VALUE);

        // الذي سيتم عرضه في يمين النافذة يظهر على كل المساحة المتوفرة بالطول buttonRight هنا قمنا بجعل الكائن
        buttonRight.setPrefHeight(Double.MAX_VALUE);

        // الذي سيتم عرضه في أسفل النافذة يظهر على كل المساحة المتوفرة بالعرض buttonBottom هنا قمنا بجعل الكائن
        buttonBottom.setPrefWidth(Double.MAX_VALUE);

        // الذي سيتم عرضه في يسار النافذة يظهر على كل المساحة المتوفرة بالطول buttonLeft هنا قمنا بجعل الكائن
        buttonLeft.setPrefHeight(Double.MAX_VALUE);
        
        // فيها و تحديد حجمها Node كأول root هنا قمنا بإنشاء محتوى النافذة مع تعيين الكائن
        Scene scene = new Scene(root, 350, 250);

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

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

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

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

}

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

طريقة إضافة هامش من جميع الإتجاهات لأي شيء تم وضعه في BorderPane في JavaFX

ببطئ قم بتكبير حجم النافذة و تصغيرها بواسطة الفأرة لتفهم أكثر كيف ستتغير أحجام الأشياء التي وضعناها في الـ BorderPane.