إعلان
دورة تطوير التطبيقات باستخدام لغة JavaScript في هذه الدورة ستتعلم لغة جافا سكريبت, استخدام مكتبة React.js, بناء API الموقع بواسطة Node.js, تطوير تطبيق جوال باستخدام React Native, و في نهاية الدورة ستتعلم تطوير تطبيق محادثة شبيه بتطبيق WhatsApp. تعلم الآن
دورة تطوير واجهات المستخدم في هذه الدورة ستتعلم لغة HTML و لغة CSS و لغة JavaScript. من ناحية التطبيق العملي ستتعلم طريقة بناء واجهة متجر إلكتروني مكون من ست صفحات, تحويل خمسة تصاميم PSD إلى صفحات ويب, بناء واجهة مستخدم تشبه موقع يوتيوب, بناء لوحة تحكم إحترافية. تعلم الآن
تطوير تطبيقات باستخدام لغة بايثون في هذه الدورة ستتعلم أساسيات البرمجة بلغة بايثون وصولاً إلى التعامل مع أشهر أطر العمل (Flask و Django) و ستتعلم كيف تبني متجر إلكتروني يمكن للمستخدمين البيع و الشراء من خلاله. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة PHP في هذه الدورة ستتعلم لغة PHP من الصفر, استخدام إطار العمل Laravel بشرح مفصّل و عملي, كيفية تطوير شبكة اجتماعية تشبه Instagram, بناء API لتطبيق جوال وفق أسلوب RESTful, تطوير موقع إعلانات مبوبة, تطوير نظام إدارة محتوى CMS كامل. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة Ruby في هذه الدورة ستتعلم البرمجة بلغة Ruby إنطلاقاً من أبسط المفاهيم وحتى بناء تطبيق حقيقي, إستخدام إطار العمل Ruby on Rails بشرح مفصّل و عملي, بناء تطبيق حقيقي عبارة عن شبكة اجتماعية تشبه تويتر, تطوير مجتمع الكتروني يشبه حسوب I/O. تعلم الآن
دورة علوم الحاسوب هذه الدورة معدة لتكون مدخل لعلوم الحاسوب و لغات البرمجة حيث ستتعرف فيها على أنظمة التشغيل و ستتعمق في نظام لينكس و في كيفية التعامل معه من خلال موجه الأوامر, بالإضافة إلى قواعد البيانات و أساسيات الشبكات و الخوادم و مبادئ الحماية والأمان في الويب. تعلم الآن

    JavaFX الكلاس Pagination

    مقدمة

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

    الأمر المميز في الـ Pagination أنه يمكنك وضع العدد الذي تريده من الصفحات و سيقوم بترقيم هذه الصفحات بشكل تلقائي لجعل المستخدم قادر على التنقل بين الصفحات بكل سهولة من خلال النقر على رقم الصفحة بدون أن تكتب أي كود لذلك.
    بالنسبة لمحتوى هذه الصفحات, يمكنك وضع ما شئت.

    بمجرد أن تنشئ كائن من الكلاس Pagination و تضيفه في النافذة, ستحصل على الواجهة التالية.

    javafx pagination


    طريقة التعامل معه

    لتحديد كيف سيتجزء المحتوى الذي ستعرضه بداخل كائن الـ Pagination على عدة صفحات, يجب أن تفعل Override لدالة إسمها setPageFactory() و تمرر لها كائن يطبق إنترفيس إسمه Callback و يفعل بداخله Override للدالة call() المسؤولة في الواقع عن توليد محتوى الصفحات التي يتم النقر على أرقامها.

    لا تقلق أبداً, شرحنا هذا الأمر بتفصيل ممل في الأمثلة.


    بناء الكلاس Pagination

    @DefaultProperty(value="pages")
    public class Pagination
    extends Control
    	

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

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

    الكونستركتور مع تعريفه
    public Pagination() ينشئ كائن من الكلاس Pagination يمثل حاوية فيها عدد غير محدد من الصفحات.
    public Pagination(int pageCount) ينشئ كائن من الكلاس Pagination يمثل حاوية فيها عدد محدد من الصفحات.
    مكان الباراميتر pageCount نضع رقم يحدد عدد الصفحات التي سيتم وضعها بداخل الحاوية.
    public Pagination(int pageCount, int pageIndex) ينشئ كائن من الكلاس Pagination يمثل حاوية فيها عدد محدد من الصفحات مع تحديد الصفحة التي ستظهر مفتوحة فيه بشكل إفتراضي عند تشغيل التطبيق.
    مكان الباراميتر pageCount نضع رقم يحدد عدد الصفحات التي سيتم وضعها بداخل الحاوية.
    مكان الباراميتر pageIndex نضع رقم Index الصفحة التي نريدها أن تظهر مفتوحة بشكل إفتراضي عن تشغيل التطبيق.

    ملاحظة: كل صفحة في كائن الـ Pagination يتم إعطاءها رقم Index إبتداءاً من الرقم 0.
    إذاً رقم Index الصفحة الاولى برمجياً هو 0 و ليس 1 كما يظهر أمام المستخدم.

    دوال الكلاس Pagination

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

    الدالة مع تعريفها
    public final void setPageCount(int value) تستخدم لتحديد عدد صفحات كائن الـ Pagination الذي قام باستدعائها.
    مكان الباراميتر value نضع رقم يحدد عدد صفحاته.
    public final int getPageCount() ترجع عدد صحيح يمثل عدد الصفحات الموجودة في كائن الـ Pagination الذي قام باستدعائها.
    public final void setCurrentPageIndex(int value) تستخدم لتحديد الصفحة التي نريدها أن تظهر مفتوحة بشكل إفتراضي في كائن الـ Pagination الذي قام باستدعائها عند تشغيل البرنامج.
    مكان الباراميتر value نضع رقم Index الصفحة التي نريدها أن تظهر مفتوحة.
    تذكر: رقم Index الصفحة الاولى برمجياً هو 0 و ليس 1 كما يظهر أمام المستخدم.
    public final int getCurrentPageIndex() ترجع عدد صحيح يمثل رقم Index الصفحة المفتوحة حالياً في كائن الـ Pagination الذي قام باستدعائها.
    public final void setPageFactory(Callback<Integer,Node> value) تستخدم لبناء شكل كل صفحة في كائن الـ Pagination الذي قام باستدعائها و لتحديد محتواها أيضاً.
    مكان الباراميتر value نضع كائن يفعل Override للإنترفيس Callback يحدد كيف سيتم جلب و عرض محتوى كل صفحة.

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

    أمثلة شاملة


    المثال الأول

    المثال التالي يعلمك طريقة إنشاء كائن من الكلاس Pagination و إضافته في النافذة.
    ستتعلم أيضاً كيف تقوم بتغيير لون خلفيته و لون حدوده.

    طريقة إضافة Pagination في javafx

    شاهد المثال »



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

    المثال التالي يعلمك طريقة عرض محتوى VBox بداخل Pagination مع حساب عدد الصفحات بشكل تلقائي.

    طريقة عرض محتوى VBox بداخل Pagination في javafx

    شاهد المثال »



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

    المثال التالي يعلمك طريقة تغيير تصميم الـ Pagination.

    فعلياً, تغيير التصميم بهذا الشكل يتطلب تعديل كود الـ CSS الخاص بالـ Pagination لكننا لم نفعل ذلك.
    بكل بساطة إستخدمنا ثابت جاهز إسمه STYLE_CLASS_BULLET و الذي بدوره يحتوي على كل كود الـ CSS الذي يظهر الـ Pagination بهذا الشكل الرائع.

    طريقة تغيير تصميم ال Pagination في javafx

    شاهد المثال »



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

    المثال التالي يعلمك طريقة وضع كل عنصر في الـ VBox الموضوع في كل صفحة بداخل VBox خاص.
    ملاحظة: هذا الأسلوب يستخدم عند توفير خاصية البحث في التطبيق أو عند عرض الرسائل بشكل مرتب على عدة صفحات.

    طريقة عرض رسائل بداخل Pagination في javafx

    شاهد المثال »

    إعلان

    Eqla3Tech.com

    شروحات مكتوبة حول لغات البرمجة و تقنية المعلومات باللغة العربية مقدمة من إقلاع تك.

    لغة جافا لغة ++C قواعد البيانات نظام ويندوز نظام لينكس الشبكات تقنية المعلومات الأمن السيبراني

    الدورات

    أدوات مساعدة

    الأقسام

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