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

JavaFXالكلاس Pane

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

مقدمة

الكلاس Pane يستخدم لإنشاء حاوية لا تترتب فيها الأشياء بشكل تلقائي, و بالتالي أنت من تتولى تحديد أماكن الأشياء التي تضيفها فيها تماماَ مثل الكلاس Group الذي شرحناه في الدرس السابق مع بعض الفوارق التي سنتطرق إليها.

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


معلومة تقنية

حجم كائن الـ Pane يمكن تحديده لكن لا يمكن جعله يتغير بشكل تلقائي مع تغير حجم النافذة.
أيضاً, حجم الأشياء التي نضعها بداخل كائن الـ Pane يمكن تحديده لكن لا يمكن جعله تلقائي نسبة لحجم الـ Pane.


بناء الكلاس Pane

@DefaultProperty(value="children")
public class Pane
extends Region

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

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

الكونستركتور مع تعريفه
1 Pane() ينشئ كائن من الكلاس Pane يمثل حاوية فارغة.
2 Pane(Node... children) ينشئ كائن من الكلاس Pane يمثل حاوية مع تحديد الأشياء التي نريد وضعها فيها.
مكان الباراميتر children نمرر الأشياء التي نريد وضعها فيها مع وضع فاصلة بين كل شيئين.

دوال الكلاس Pane

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

الدالة مع تعريفها
1 public void setPrefSize(double prefWidth, double prefHeight) تستخدم لتحديد حجم كائن الـ Pane الذي قام باستدعائها.
  • مكان الباراميتر prefWidth نضع رقم يمثل عرض الـ Pane بالـ Pixel.
  • مكان الباراميتر prefHeight نضع رقم يمثل طول الـ Pane بالـ Pixel.
2 public final void setTranslateX(double value) تستخدم لتحديد مكان كائن الـ Pane الذي قام باستدعائها أفقياً.
مكان الباراميتر value نضع رقم يمثل كم Pixel سيتم إزاحته من اليسار إلى اليمين.
3 public final void setTranslateY(double value) تستخدم لتحديد مكان كائن الـ Pane الذي قام باستدعائها عامودياً.
مكان الباراميتر value نضع رقم يمثل كم Pixel سيتم إزاحته من الأعلى إلى الأسفل.
4 public final void setBackground(Background value) تستخدم لوضع لون أو صورة كخلفية لكائن الـ Pane الذي قام بإستدعائها.
مكان الباراميتر value نضع كائن من الكلاس Background يشير إلى درجة اللون أو الصورة التي سيتم وضعها كخلفية.
5 public final void setStyle(String value) تستخدم لتعديل تصميم كائن الـ Pane الذي قام بإستدعائها.
مكان الباراميتر value يمكنك تمرير إسم و قيمة أي خاصية تريد تعديلها في كائن الـ Pane بأسلوب لغة CSS لإظهاره بالشكل الذي تريده.
6 public ObservableList<Node> getChildren() ترجع كائن نوعه ObservableList يمثل محتوى كائن الـ Pane الذي قام بإستدعائها مما يجعلك قادراً على إضافة كائنات جديدة أو حذف كائنات موجودة فيه.

أمثلة شاملة


المثال الأول

المثال التالي يعلمك طريقة إنشاء كائن من الكلاس Pane و وضعه كـ Root Node.
ملاحظة: النافذة تحتوي على 3 كائنات من الكلاس Pane لكنها موضوعة فوق بعضها البعض, و لهذا السبب آخر Pane هو فقط الذي يظهر.

طريقة وضع محتوى النافذة في Pane في JavaFX

شاهد المثال



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

المثال التالي يعلمك طريقة تحديد حجم و مكان ظهور الأشياء التي نضيفها في Pane.

طريقة تحديد حجم و مكان ظهور الأشياء التي نضيفها في Pane في JavaFX

شاهد المثال



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

المثال التالي يعلمك طريقة تحديد لون خلفية الـ Pane.
كما أننا سنقوم بوضع Pane بداخل Pane تمهيداً للتمرين التالي.

طريقة تحديد لون خلفية الـ Pane في JavaFX

شاهد المثال



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

المثال التالي يعلمك طريقة وضع Pane بداخل Pane.
ملاحظة: هنا يجب تحديد أماكن الأشياء التي نضيفها في الـ Pane الداخلي نسبة لمكانه و ليس نسبة لمكان الـ Pane الخارجي.

طريقة وضع Pane بداخل Pane في JavaFX

شاهد المثال