JavaFX الكلاس TilePane

مقدمة

الكلاس TilePane يستخدم لإنشاء حاوية تترتب الأشياء التي نضيفها فيها وراء بعضها البعض بشكل أفقي أو عامودي مثل الكلاس FlowPane.

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

الفرق الوحيد بين الكلاس TilePane و الكلاس FlowPane هو أن الكلاس TilePane يضع هامش حول جميع الأشياء الموضوعة فيه بناءاً على مساحة أكبر شيء تم وضعه فيه.

فعلياً, الكلاس TilePane يقوم بترتيب الأشياء الموضوعة فيه كالتالي:
في البداية, يقوم بحساب مساحة كل شيء تم وضعه فيه.
بعدها, بناءاً على مساحة أكبر شيء وجده يقوم بإضافة هامش حول جميع الأشياء الأخرى حتى يعوض فارق الحجم بينهم.
هكذا تصبح جميع الأشياء الموجودة فيه تظهر بشكل متوازي من جميع الجهات كأنهم موضوعين بداخل جدول وهمي حيث تجد الأشياء بعيدة عن بعدها و كأنه يوجد حدود متساوية بينهم.


بناء الكلاس TilePane

public class TilePane
extends Pane
	

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

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

الكونستركتور مع تعريفه
public TilePane() ينشئ كائن من الكلاس TilePane يمثل حاوية فارغة ترتب الأشياء التي نضيفها فيها وراء بعضها بشكل أفقي من الأعلى و من جهة اليسار.
public TilePane(Node... children) ينشئ كائن من الكلاس TilePane يمثل حاوية ترتب الأشياء التي نضيفها فيها وراء بعضها البعض بشكل أفقي من الأعلى و من جهة اليسار مع تحديد الأشياء التي نريد وضعها فيها.
مكان الباراميتر children نمرر الأشياء التي نريد وضعها فيها مع وضع فاصلة بين كل شيئين.
public TilePane(double hgap, double vgap) ينشئ كائن من الكلاس TilePane يمثل حاوية فارغة ترتب الأشياء التي نضيفها فيها وراء بعضها البعض بشكل أفقي من الأعلى و من جهة اليسار مع تحديد حجم المسافة الفارغة بين الأشياء التي نضيفها فيها.
  • مكان الباراميتر hgap نمرر رقم يمثل حجم المسافة الفارغة أفقياً بالـ Pixel بين كل شيئين نضيفهما فيها.
  • مكان الباراميتر vgap نمرر رقم يمثل حجم المسافة الفارغة عامودياً بالـ Pixel بين كل شيئين نضيفهما فيها.
public TilePane(double hgap, double vgap, Node... children) ينشئ كائن من الكلاس TilePane يمثل حاوية ترتب الأشياء التي نضيفها فيها بشكل وراء بعضها البعض بشكل أفقي مع تحديد الأشياء التي نريد وضعها فيها و حجم المسافة الفارغة بينهم.
  • مكان الباراميتر hgap نمرر رقم يمثل حجم المسافة الفارغة أفقياً بالـ Pixel بين كل شيئين نضيفهما فيها.
  • مكان الباراميتر vgap نمرر رقم يمثل حجم المسافة الفارغة عامودياً بالـ Pixel بين كل شيئين نضيفهما فيها.
  • مكان الباراميتر children نمرر الأشياء التي نريد وضعها فيها مع وضع فاصلة بين كل شيئين.
public TilePane(Orientation orientation) ينشئ كائن من الكلاس TilePane يمثل حاوية ترتب الأشياء التي نضيفها فيها وراء بعضها البعض مع تحديد ما إذا كانت ستظهرهم بشكل أفقي أو عامودي.
مكان الباراميتر orientation نضع Orientation.VERTICAL في حال أردنا إظهار محتوى الـ TilePane عامودياً.
و نضع Orientation.HORIZONTAL في حال أردنا إظهار محتوى الـ TilePane أفقياً.
public TilePane(Orientation orientation, Node... children) ينشئ كائن من الكلاس TilePane يمثل حاوية ترتب الأشياء التي نضيفها فيها وراء بعضها البعض مع تحديد ما إذا كانت ستظهرهم بشكل أفقي أو عامودي و تحديد الأشياء التي نريد وضعها فيها.
  • مكان الباراميتر orientation نضع Orientation.VERTICAL في حال أردنا إظهار محتوى الـ TilePane عامودياً, أو نضع Orientation.HORIZONTAL في حال أردنا إظهار محتوى الـ TilePane أفقياً.
  • مكان الباراميتر children نمرر الأشياء التي نريد وضعها فيها مع وضع فاصلة بين كل شيئين.
public TilePane(Orientation orientation, double hgap, double vgap) ينشئ كائن من الكلاس TilePane يمثل حاوية ترتب الأشياء التي نضيفها فيها وراء بعضها البعض مع تحديد ما إذا كانت ستظهرهم بشكل أفقي أو عامودي و تحديد حجم المسافة الفارغة بينهم.
  • مكان الباراميتر orientation نضع Orientation.VERTICAL في حال أردنا إظهار محتوى الـ TilePane عامودياً, أو نضع Orientation.HORIZONTAL في حال أردنا إظهار محتوى الـ TilePane أفقياً.
  • مكان الباراميتر hgap نمرر رقم يمثل حجم المسافة الفارغة أفقياً بالـ Pixel بين كل شيئين نضيفهما فيها.
  • مكان الباراميتر vgap نمرر رقم يمثل حجم المسافة الفارغة عامودياً بالـ Pixel بين كل شيئين نضيفهما فيها.
public TilePane(Orientation orientation, double hgap, double vgap, Node... children) ينشئ كائن من الكلاس TilePane يمثل حاوية ترتب الأشياء التي نضيفها فيها وراء بعضها البعض مع تحديد ما إذا كانت ستظهرهم بشكل أفقي أو عامودي و تحديد حجم المسافة الفارغة بينهم و تحديد الأشياء التي نريد وضعها فيها.
  • مكان الباراميتر orientation نضع Orientation.VERTICAL في حال أردنا إظهار محتوى الـ TilePane عامودياً, أو نضع Orientation.HORIZONTAL في حال أردنا إظهار محتوى الـ TilePane أفقياً.
  • مكان الباراميتر hgap نمرر رقم يمثل حجم المسافة الفارغة أفقياً بالـ Pixel بين كل شيئين نضيفهما فيها.
  • مكان الباراميتر vgap نمرر رقم يمثل حجم المسافة الفارغة عامودياً بالـ Pixel بين كل شيئين نضيفهما فيها.
  • مكان الباراميتر children نمرر الأشياء التي نريد وضعها فيها مع وضع فاصلة بين كل شيئين.

دوال الكلاس TilePane

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

الدالة مع تعريفها
public final void setAlignment(Pos value) تستخدم لتحديد مكان ظهور الأشياء التي سيتم وضعها في كائن الـ TilePane الذي قام باستدعائها.
مكان الباراميتر value نمرر إحدى ثوابت الكلاس Pos:
  • TOP_LEFT: يظهر المحتوى في الأعلى ناحية اليسار.
  • TOP_CENTER: يظهر المحتوى في الأعلى و في الوسط.
  • TOP_RIGHT: يظهر المحتوى في الأعلى ناحية اليمين.
  • CENTER_LEFT: يظهر المحتوى في الوسط ناحية اليسار.
  • CENTER: يظهر المحتوى في الوسط تماماً.
  • CENTER_RIGHT: يظهر في الوسط ناحية اليمين.
  • BOTTOM_LEFT: يظهر المحتوى في الأسفل ناحية اليسار.
  • BOTTOM_CENTER: يظهر المحتوى في الأسفل و في الوسط.
  • BOTTOM_RIGHT: يظهر المحتوى في الأسفل ناحية اليمين.
public final void setOrientation(Orientation orientation) تستخدم لتحديد ما إذا كان محتوى كائن الـ TilePane الذي قام بإستدعائها سيظهر بشكل أفقي أو عامودي.
مكان الباراميتر orientation نضع إحدى ثوابت الكلاس Orientation:
  • Orientation.VERTICAL: يجعل محتوى الـ TilePane يظهر عامودياً.
  • Orientation.HORIZONTAL: يجعل محتوى الـ TilePane يظهر أفقياً.
public final void setPadding(Insets value) تستخدم لإضافة فراغ حول كائن الـ TilePane الذي قام باستدعائها.
مكان الباراميتر value نمرر كائن من الكلاس Insets نحدد فيه حجم الفراغ الذي سيتم إضافته من الجهات الأربعة ( فوقه, يمينه, تحته, يساره ).
public final void setHgap(double value) تستخدم لتحديد حجم الفراغ أفقياً ( أي من اليمين و من اليسار ) بين كل شيئين يتم إضافتهما في كائن الـ TilePane الذي قام باستدعائها.
مكان الباراميتر value نمرر رقم يمثل حجم الفراغ بالـ Pixel.
public final void setVgap(double value) تستخدم لتحديد حجم الفراغ عامودياً ( أي من الأعلى و من الأسفل ) بين كل شيئين يتم إضافتهما في كائن الـ TilePane الذي قام باستدعائها.
مكان الباراميتر value نمرر رقم يمثل حجم الفراغ بالـ Pixel.
public static void setMargin(Node child, Insets value) تستخدم لإضافة فراغ حول أي شيء موضوع بداخل TilePane.
مكان الباراميتر child نمرر الشيء الذي نريد إضافة فراغ حوله.
مكان الباراميتر value نمرر كائن من الكلاس Insets نحدد فيه حجم الفراغ الذي سيتم إضافته للشيء من الجهات الأربعة ( فوقه, يمينه, تحته, يساره ).
public final void setStyle(String value) تستخدم لتعديل تصميم كائن الـ TilePane الذي قام بإستدعائها.
مكان الباراميتر value يمكنك تمرير إسم و قيمة أي خاصية تريد تعديلها في كائن الـ TilePane بأسلوب لغة CSS لإظهاره بالشكل الذي تريده.
public ObservableList<Node> getChildren() ترجع كائن نوعه ObservableList يمثل محتوى كائن الـ TilePane الذي قام بإستدعائها مما يجعلك قادراً على إضافة كائنات جديدة أو حذف كائنات موجودة فيه.

أمثلة شاملة


المثال الأول

المثال التالي يعلمك طريقة إنشاء كائن من الكلاس TilePane و وضعه كـ Root Node.
لاحظ أنه إفتراضياً تم ترتيب الأشياء بشكل أفقي في الأعلى من جهة اليسار, و عند تصغير النافذة بالعرض سيتم إظهار الأشياء على سطر جديد عند الحاجة.

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

شاهد المثال »



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

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

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

شاهد المثال »



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

المثال التالي يعلمك طريقة جعل محتوى الـ TilePane يظهر بشكل عامودي.
لاحظ أنه عند تصغير النافذة بالطول سيتم إظهار الأشياء على عامود جديد عند الحاجة.

طريقة جعل محتوى ال TilePane يظهر بشكل عامودي في JavaFX

شاهد المثال »

الدورات

أدوات مساعدة

الأقسام

دورات
مقالات أسئلة مشاريع كتب