إعلان
دورة تطوير التطبيقات باستخدام لغة 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 الكلاس ContextMenu

    مقدمة

    الكلاس ContextMenu يستخدم للحصول على قائمة منبثقة ( Popup Menu ) تظهر عند النقر على زر الفأرة الأيمن ( Right Click ).

    ملاحظة: ليس بالضرورة أن تظهر القائمة فقط عند النقر على زر الفأرة الأيمن, لكنك على الأغلب لن تحتاج إظهارها إلا عند النقر على زر الفأرة الأيمن.


    في الـ ContextMenu يمكنك وضع أي نوع من العناصر ( Menu Items ) التالية بداخلها:

    • Menu: أي قائمة داخلية, حيث يمكنك أن تضع قائمة بداخل قائمة.
    • MenuItem: عنصر عادي خاص للقوائم.
    • RadioMenuItem: يمثل RadioButton خاص للقوائم.
    • CheckMenuItem: يمثل CheckBox خاص للقوائم.
    • SeparatorMenuItem: يمثل خط فاصل (Separator) خاص للقوائم.
    • CustomMenuItem: عبارة عن كلاس خاص يجب أن يرث منه أي كلاس تنشئه أنت بهدف وضعه كعنصر في القائمة.


    مثال

    الصورة التالية عبارة عن ContextMenu تحتوي على إثنين ContextMenu, إثنين RadioMenuItem, إثنين CheckMenuItem و إثنين SeparatorMenuItem.

    javafx context menu

    لعلك تتسائل ما الفرق بين الـ RadioMenuItem و الـ CheckMenuItem لأنهما يعطيانك نفس الشكل!
    الفرق بينهما أنك تستطيع وضع الـ RadioMenuItem ضمن مجموعة مثل الـ RadioButton تماماً لجعل المستخدم قادر على إختيار عنصر واحد فقط كما سبق أن شرحنا في درس الـ RadioButton.


    بناء الكلاس ContextMenu

    @IDProperty(value="id")
    public class ContextMenu
    extends PopupControl
    	

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

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

    الكونستركتور مع تعريفه
    public ContextMenu() ينشئ كائن من الكلاس ContextMenu يمثل قائمة فارغة, أي لا تحتوي أي عنصر.
    لإضافة خيارات فيها نستدعي الدالة getItems() التي تسمح للوصول لعناصرها و من ثم نستدعي الدالة add() أو addAll() لإضافة عناصر فيها كالتالي.

    contextMenuObject.getItems().add( item );
    contextMenuObject.getItems().addAll( item1, item2.. );

    public ContextMenu(MenuItem... items) ينشئ كائن من الكلاس ContextMenu يمثل قائمة تحتوي على عناصر.
    مكان الباراميتر items يمكنك أن تمرر العدد الذي تريده من الكائنات التي ترث من الكلاس MenuItem مع وضع فاصلة بين كل إثنين. هذه العناصر ستظهر كعناصر في القائمة.

    دوال الكلاس ContextMenu

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

    الدالة مع تعريفها
    public void show(Node anchor, double screenX, double screenY) تستخدم لإظهار القائمة التي يمثلها كائن الـ ContextMenu الذي قام باستدعائها في الموقع الذي تم تحديده.

    • مكان الباراميتر anchor نضع إسم الكائن الذي سنظهر القائمة من أجله, و الذي أعددنا القائمة له من الأساس.
    • مكان الباراميتر screenX نضع رقم بالبيكسل يمثل بعد القائمة أفقياً عن المكان الذي تم النقر عليه.
    • مكان الباراميتر screenY نضع رقم بالبيكسل يمثل بعد القائمة عامودياً عن المكان الذي تم النقر عليه.
    public final void setStyle(String value) تستخدم لتعديل تصميم كائن الـ ContextMenu الذي قام بإستدعائها.
    مكان الباراميتر value يمكنك تمرير إسم و قيمة أي خاصية تريد تعديلها في كائن الـ ContextMenu بأسلوب لغة CSS لإظهاره بالشكل الذي تريده.

    مثال شامل

    المثال التالي يعلمك طريقة إنشاء كائن من الكلاس ContextMenu يمثل قائمة تظهر عند النقر على زر الفأرة الأيمن ( Right Click ).
    هذه القائمة تسمح للمستخدم بقلب الصورة يميناً و يساراً, إظهار خط حولها, تحديد لون الخط, إخفاء الخط.

    طريقة إظهار قائمة ContextMenu عند النقر على زر الفأرة الأيمن في javafx

    شاهد المثال »



    ملاحظة

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

    إعلان

    Eqla3Tech.com

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

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

    الدورات

    أدوات مساعدة

    الأقسام

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