شرح الكلاس BorderPane
الكلاس BorderPane
يستخدم لإنشاء حاوية تتألف من 5 أقسام ( شمال, الجنوب, الشرق, الغرب أو الوسط ).
في كل قسم في الـ BorderPane
يمكنك وضع شيء واحد فقط و يمكنك عدم وضع شيء أيضاً.
حجم كائن الـBorderPane
يمكن تحديده, و يمكن تحديد ما إذا كانت الأشياء بداخله سيتغير حجمها مع تغيّر حجمه أم أن حجمها ثابت لا يتغير.
حجم الفراغ بين الأشياء التي نضيفها فيه يمكن تحديده من جميع الإتجاهات.
بناء الكلاس BorderPane
public class BorderPane extends Pane
كونستركتورات الكلاس BorderPane
الجدول التالي يحتوي على كونستركتورات الكلاس BorderPane
.
الكونستركتور مع تعريفه | |
---|---|
BorderPane()
ينشئ كائن من الكلاس BorderPane يمثل حاوية فارغة تتألف من 5 أقسام ( شمال, الجنوب, الشرق, الغرب أو الوسط ). |
|
BorderPane(Node center)
ينشئ كائن من الكلاس BorderPane يمثل حاوية تتألف من 5 أقسام ( شمال, الجنوب, الشرق, الغرب أو الوسط ) مع تحديد الشيء الذي سيظهر في وسطها.
مكان الباراميتر center نمرر الشيء الذي نريد وضعه في وسطها. |
|
BorderPane(Node center, Node top, Node right, Node bottom, Node left)
ينشئ كائن من الكلاس BorderPane يمثل حاوية تتألف من 5 أقسام ( شمال, الجنوب, الشرق, الغرب أو الوسط ) مع تحديد الأشياء التي سيتم وضعها في كل قسم.
|
دوال الكلاس BorderPane
الجدول التالي يحتوي على دوال الكلاس BorderPane
الأكثر إستخداماً.
الدالة مع تعريفها | |
---|---|
public final void setCenter(Node value)
تستخدم لوضع الشيء الذي نمرره لها مكان الكائن value في وسط كائن الـ BorderPane الذي قام باستدعائها. |
|
public final void setTop(Node value)
تستخدم لوضع الشيء الذي نمرره لها مكان الكائن value في القسم الأيمن في كائن الـ BorderPane الذي قام باستدعائها. |
|
public final void setBottom(Node value)
تستخدم لوضع الشيء الذي نمرره لها مكان الكائن value في القسم الأعلى في كائن الـ BorderPane الذي قام باستدعائها. |
|
public final void setRight(Node value)
تستخدم لوضع الشيء الذي نمرره لها مكان الكائن value في القسم الأيمن في كائن الـ BorderPane الذي قام باستدعائها. |
|
public final void setLeft(Node value)
تستخدم لوضع الشيء الذي نمرره لها مكان الكائن value في القسم الأيسر في كائن الـ BorderPane الذي قام باستدعائها. |
|
public final void setPadding(Insets value)
تستخدم لإضافة فراغ حول كائن الـ BorderPane الذي قام باستدعائها.مكان الباراميتر value نمرر كائن من الكلاس Insets نحدد فيه حجم الفراغ الذي سيتم إضافته من الجهات الأربعة ( فوقه, يمينه, تحته, يساره ). |
|
public static void setMargin(Node child, Insets value)
تستخدم لإضافة فراغ حول أي شيء موضوع كقسم بداخل BorderPane .مكان الباراميتر child نمرر الشيء الذي نريد إضافة فراغ حوله.مكان الباراميتر value نمرر كائن من الكلاس Insets نحدد فيه حجم الفراغ الذي سيتم إضافته للشيء من الجهات الأربعة ( فوقه, يمينه, تحته, يساره ). |
|
public final void setStyle(String value)
تستخدم لتعديل تصميم كائن الـ BorderPane الذي قام بإستدعائها.مكان الباراميتر value يمكنك تمرير إسم و قيمة أي خاصية تريد تعديلها في كائن الـ BorderPane بأسلوب لغة CSS لإظهاره بالشكل الذي تريده. |
|
public ObservableList<Node> getChildren()
ترجع كائن نوعه ObservableList يمثل محتوى كائن الـ BorderPane الذي قام بإستدعائها مما يجعلك قادراً على إضافة كائنات جديدة أو حذف كائنات موجودة فيه. |
أمثلة شاملة في الكلاس BorderPane
طريقة إنشاء كائن من الكلاس BorderPane
المثال التالي يعلمك طريقة إنشاء كائن من الكلاس BorderPane
و وضعه كـ Root Node.
مثال
import javafx.application.Application; 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); // فيها و تحديد حجمها 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
يظهر على كل المساحة المتوفرة.
مثال
import javafx.application.Application; 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); // الذي سيتم عرضه في وسط النافذة يظهر على كل المساحة المتوفرة 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
حتى لا يلامس النافذة.
مثال
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
.
طريقة إضافة هامش من جميع الإتجاهات لأي شيء تم وضعه في BorderPane في JavaFX
المثال التالي يعلمك طريقة إضافة مسافة فارغة ( هامش ) من جميع الإتجاهات حول أي شيء تم وضعه في 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 هنا قمنا بإنشاء جميع الأشياء التي سنضيفها في الكائن 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
.
طريقة إستخدام بعض أقسام ال BorderPane في JavaFX
المثال التالي يعلمك طريقة إستخدام بعض أقسام الـ BorderPane
و إظهارهم على كل المساحة المتوفرة.
مثال
import javafx.application.Application; 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 buttonLeft = new Button("Left"); // root هنا قمنا بتحديد موقع كل شيء سيتم إضافته في الكائن root.setCenter(buttonCenter); root.setTop(buttonTop); root.setLeft(buttonLeft); // الذي سيتم عرضه في وسط النافذة يظهر على كل المساحة المتوفرة buttonCenter هنا قمنا بجعل الكائن buttonCenter.setPrefSize(Double.MAX_VALUE, Double.MAX_VALUE); // الذي سيتم عرضه في أعلى النافذة يظهر على كل المساحة المتوفرة بالعرض buttonTop هنا قمنا بجعل الكائن buttonTop.setPrefWidth(Double.MAX_VALUE); // الذي سيتم عرضه في يسار النافذة يظهر على كل المساحة المتوفرة بالطول و عرضه 80 بيكسل فقط buttonLeft هنا قمنا بجعل الكائن buttonLeft.setPrefSize(80, 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
.