JavaFXطريقة إضافة مسافة فارغة حول الـBorderPane
المثال التالي يعلمك طريقة إضافة مسافة فارغة ( هامش ) حول الـ BorderPane حتى لا يلامس النافذة.
مثال
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 هنا قمنا بإضافة مسافة فارغة ( هامش ) بمقدار 10 بيكسل حول الكائن
root.setPadding(new Insets(10));
// 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);
// الذي سيتم عرضه في وسط النافذة يظهر على كل المساحة المتوفرة 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);
}
}
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 هنا قمنا بإضافة مسافة فارغة ( هامش ) بمقدار 10 بيكسل حول الكائن
root.setPadding(new Insets(10));
// 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);
// الذي سيتم عرضه في وسط النافذة يظهر على كل المساحة المتوفرة 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.