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

JavaFXالكلاس GridPane

  • مقدمة
  • كونستركتورات الكلاس GridPane
  • دوال الكلاس GridPane
  • أمثلة شاملة

مقدمة

الكلاس GridPane يستخدم لإنشاء حاوية تترتب الأشياء التي نضيفها فيها كجدول وهمي يتألف من أسطر و أعمدة متساوية الحجم.

إفتراضياً, حجم الـ GridPane يتحدد نسبة لحجم الأشياء الموضوعة فيه. أي كلما وضعت فيه أشياء كلما كبر حجمه. كما أنك تستطيع جعله يظهر على كل المساحة المتوفرة.

بالنسبة للأشياء التي تضيفها فيه فإنها تظهر في الأعلى ناحية اليسار. و أيضاً تستطيع تحديد مكان ظهورهم.
كما أنك تستطيع إضافة هامش ( فراغ ) بينهم حتى لا يظهروا بشكل متلاصق.

الآن, عند إنشاء كائن GridPane يجب تحديد من كم سطر و عامود يتألف. بعدها يصبح بإمكانك إضافة أي شيء تريد على سطر و عامود محدد فيه.
ملاحظة: أول سطر في كائن الـ GridPane يكون يملك رقم Index يساوي 0. و أول عامود في كل سطر يكون رقمه يكون يملك رقم Index يساوي 0.


بناء الكلاس GridPane

public class GridPane
extends Pane

كونستركتورات الكلاس GridPane

الجدول التالي يحتوي على كونستركتورات الكلاس GridPane.

الكونستركتور مع تعريفه
1 public GridPane() ينشئ كائن من الكلاس GridPane يمثل حاوية فارغة ترتب الأشياء التي نضيفها فيها كجدول يتألف من أسطر و أعمدة متساوية الحجم.

دوال الكلاس GridPane

الجدول التالي يحتوي على دوال الكلاس GridPane الأكثر إستخداماً.

الدالة مع تعريفها
1 public void add(Node child, int columnIndex, int rowIndex) تستخدم لإضافة شيء في مكان محدد في كائن الـ GridPane الذي قام باستدعائها.
مكان الباراميتر child نمرر الشيء الذي نريد إضافته.
مكان الباراميتر columnIndex نمرر رقم يمثل Index العامود الذي نريد إضافة الشيء عليه.
مكان الباراميتر rowIndex نمرر رقم يمثل Index السطر الذي نريد إضافة الشيء عليه.
2 public static void setColumnSpan(Node child, Integer value) تستخدم لجعل أي شيء موضوع بداخل GridPane يظهر على أكثر من عامود واحد.
مكان الباراميتر child نمرر الشيء الذي نريد جعله يظهر على أكثر من عامود.
مكان الباراميتر value نمرر رقم يمثل عدد الأعمدة التي نريده أن يظهر عليها.
3 public static void setRowSpan(Node child, Integer value) تستخدم لجعل أي شيء موضوع بداخل GridPane يظهر على أكثر من سطر واحد.
مكان الباراميتر child نمرر الشيء الذي نريد جعله يظهر على أكثر من سطر.
مكان الباراميتر value نمرر رقم يمثل عدد الأسطر التي نريده أن يظهر عليها.
4 public final void setAlignment(Pos value) تستخدم لتحديد مكان ظهور الأشياء التي سيتم وضعها في كائن الـ GridPane الذي قام باستدعائها.
مكان الباراميتر value نمرر إحدى ثوابت الكلاس Pos:
  • TOP_LEFT: يظهر المحتوى في الأعلى ناحية اليسار.
  • TOP_CENTER: يظهر المحتوى في الأعلى و في الوسط.
  • TOP_RIGHT: يظهر المحتوى في الأعلى ناحية اليمين.
  • CENTER_LEFT: يظهر المحتوى في الوسط ناحية اليسار.
  • CENTER: يظهر المحتوى في الوسط تماماً.
  • CENTER_RIGHT: يظهر في الوسط ناحية اليمين.
  • BOTTOM_LEFT: يظهر المحتوى في الأسفل ناحية اليسار.
  • BOTTOM_CENTER: يظهر المحتوى في الأسفل و في الوسط.
  • BOTTOM_RIGHT: يظهر المحتوى في الأسفل ناحية اليمين.
5 public final void setPadding(Insets value) تستخدم لإضافة فراغ حول كائن الـ GridPane الذي قام باستدعائها.
مكان الباراميتر value نمرر كائن من الكلاس Insets نحدد فيه حجم الفراغ الذي سيتم إضافته من الجهات الأربعة ( فوقه, يمينه, تحته, يساره ).
6 public final void setHgap(double value) تستخدم لتحديد حجم الفراغ أفقياً ( أي من اليمين و من اليسار ) بين كل شيئين يتم إضافتهما في كائن الـ GridPane الذي قام باستدعائها.
مكان الباراميتر value نمرر رقم يمثل حجم الفراغ بالـ Pixel.
7 public final void setVgap(double value) تستخدم لتحديد حجم الفراغ عامودياً ( أي من الأعلى و من الأسفل ) بين كل شيئين يتم إضافتهما في كائن الـ GridPane الذي قام باستدعائها.
مكان الباراميتر value نمرر رقم يمثل حجم الفراغ بالـ Pixel.
8 public static void setMargin(Node child, Insets value) تستخدم لإضافة فراغ حول أي شيء موضوع بداخل GridPane.
مكان الباراميتر child نمرر الشيء الذي نريد إضافة فراغ حوله.
مكان الباراميتر value نمرر كائن من الكلاس Insets نحدد فيه حجم الفراغ الذي سيتم إضافته للشيء من الجهات الأربعة ( فوقه, يمينه, تحته, يساره ).
9 public static void setHgrow(Node child, Priority value) تستخدم لتحديد ما إذا كان عرض الشيء الموضوع بداخل GridPane سيتأثر بعرضه أم أن عرضه سيظل ثابت.
مكان الباراميتر child نمرر الشيء الذي نريد تحديد ما إن كان عرضه سيتأثر بعرض الـ GridPane أم لا.
مكان الباراميتر value نمرر إحدى ثوابت الكلاس Priority التي تحدد ذلك:
  • ALWAYS: لجعل عرض الشيء يظهر على أكبر مساحة متوفرة في كائن الـ GridPane.
  • NEVER: لجعل عرض الشيء ثابت لا يتأُثر أبدً بحجم كائن الـ GridPane.
  • SOMETIMES: لجعل عرض الشيء يظهر على أكبر مساحة متوفرة في كائن الـ GridPane في حال لم يكن هناك أي شيء آخر قد تم تعيينه ليظهر على أكبر مساحة متوفرة فيه.
10 public static void setVgrow(Node child, Priority value) تستخدم لتحديد ما إذا كان طول الشيء الموضوع بداخل GridPane سيتأثر بطوله أم أن طوله سيظل ثابت.
مكان الباراميتر child نمرر الشيء الذي نريد تحديد ما إن كان طوله سيتأثر بعرض الـ GridPane أم لا.
مكان الباراميتر value نمرر إحدى ثوابت الكلاس Priority التي تحدد ذلك:
  • ALWAYS: لجعل طول الشيء يظهر على أكبر مساحة متوفرة في كائن الـ GridPane.
  • NEVER: لجعل طول الشيء ثابت لا يتأُثر أبدً بحجم كائن الـ GridPane.
  • SOMETIMES: لجعل طول الشيء يظهر على أكبر مساحة متوفرة في كائن الـ GridPane في حال لم يكن هناك أي شيء آخر قد تم تعيينه ليظهر على أكبر مساحة متوفرة فيه.
11 public final void setStyle(String value) تستخدم لتعديل تصميم كائن الـ GridPane الذي قام بإستدعائها.
مكان الباراميتر value يمكنك تمرير إسم و قيمة أي خاصية تريد تعديلها في كائن الـ GridPane بأسلوب لغة CSS لإظهاره بالشكل الذي تريده.

أمثلة شاملة


المثال الأول

المثال التالي يعلمك طريقة إنشاء كائن من الكلاس GridPane و وضعه كـ Root Node.

طريقة وضع محتوى الصفحة في GridPane في JavaFX

شاهد المثال



المثال الثاني

المثال التالي يعلمك طريقة إضافة مسافة فارغة بين الأشياء التي نضيفها في GridPane, بالإضافة إلى عرض محتوى الـ GridPane في الوسط.

طريقة إضافة مسافة فارغة بين الأشياء التي نضيفها في GridPane في JavaFX

شاهد المثال



المثال الثالث

المثال التالي يعلمك طريقة جعل محتوى الـ GridPane يظهر على كل المساحة المتوفرة.

طريقة جعل محتوى ال GridPane يظهر على كل المساحة المتوفرة فيه في JavaFX

شاهد المثال



المثال الرابع

المثال التالي يعلمك طريقة إظهار الشيء الموضوع في GridPane على أكثر من سطر أو عامود.

طريقة إظهار الشيء الموضوع في GridPane على أكثر من سطر أو عامود فيه في JavaFX

شاهد المثال