إعلان
دورة تطوير التطبيقات باستخدام لغة 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. تعلم الآن
دورة علوم الحاسوب هذه الدورة معدة لتكون مدخل لعلوم الحاسوب و لغات البرمجة حيث ستتعرف فيها على أنظمة التشغيل و ستتعمق في نظام لينكس و في كيفية التعامل معه من خلال موجه الأوامر, بالإضافة إلى قواعد البيانات و أساسيات الشبكات و الخوادم و مبادئ الحماية والأمان في الويب. تعلم الآن

    Swing الكلاس JList

    مقدمة

    الكلاس JList يستخدم لإضافة قائمة (List) في واجهة المستخدم.

    عند التعامل مع الـ List فأنت لا تضع فيها العناصر مباشرةً. بل تضع العناصر في الـ Model الخاصة بها.
    إذاً سيكون عليك إنشاء كائن من الكلاس DefaultListModel و وضعه كـ Model لكائن الـ JList.
    بعدها يمكنك إضافة العدد الذي تريده من العناصر في كائن الـ DefaultListModel و التي ستظهر بدورها في الـ List.

    يمكنك أيضاً تحديد طريقة عرض العناصر بداخل القائمة, يمكنك جعلها تظهر أفقياً أو عامودياً.
    و يمكنك وضعها بداخل JScrollPane لجعلها تظهر Scroll Bar عند الحاجة.

    لا تقلق ستفهم كل شيء من الأمثلة.


    بناؤه

    public class JList<E>
    extends JComponent
    implements Scrollable, Accessible 
    	

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

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

    الكونستركتور مع تعريفه
    public JList() ينشئ كائن من الكلاس JList يمثل List فارغة, أي لا تحتوي أي عنصر.
    public JList(E[]Data) ينشئ كائن من الكلاس JList يمثل List فيها خيارات جاهزة.
    مكان الباراميتر listData نمرر مصفوفة من أي نوع.
    عناصر هذه المصفوفة هي التي ستظهر كخيارات في القائمة.

    قد يرمي إستثناء في حال كانت المصفوفة listData فارغة, أي قيمها تساوي null.
    public JList(ListModel<E> dataModel) ينشئ كائن من الكلاس JList يمثل List فيها خيارات جاهزة.
    مكان الباراميتر dataModel نمرر كائن من الكلاس ListModel.
    عناصر الكائن dataModel هي التي ستظهر كخيارات في القائمة.

    يرمي الإستثناء IllegalArgumentException في حال كان كائن الـ dataModel فارغاً, أي قيمته تساوي null.

    دوال الكلاس JList

    الجدول التالي يحتوي على بعض دوال الكلاس JList.

    الدالة مع تعريفها
    public void addListSelectionListener(ListSelectionListener listener) تستخدم لتنفيذ أوامر معينة عند النقر على أي خيار موجود في كائن الـ JList الذي قام بإستدعائها.
    مكان الباراميتر listener نضع كائن من الكلاس ActionListener و نفعل بداخله Override لدالة إسمها actionPerformed(ActionEvent ae).
    public E getSelectedValue() ترجع قيمة العنصر الذي قام المستخدم باختياره في كائن الـ JList الذي قام بإستدعائها.
    في حال قام المستخدم باختيار أكثر من عنصر, فإنها ترجع قيمة العنصر الذي يملك أصغر index بينهم.
    في حال لم يقم المستخدم باختيار أي عنصر, فإنها ترجع القيمة null.
    public int getSelectedIndex() ترجع رقم يمثل index العنصر الذي قام المستخدم باختياره في كائن الـ JList الذي قام بإستدعائها.
    في حال قام المستخدم باختيار أكثر من عنصر, ترجع index أصغر عنصر بينهم.
    public int[] getSelectedIndices() ترجع مصفوفة أرقام, كل رقم فيها يمثل index عنصر من العناصر التي قام المستخدم باختيارها في كائن الـ JList الذي قام بإستدعائها.
    public void setModel(ListModel<E> model) تستخدم لتحديد Model كائن الـ JList الذي قام بإستدعائها.
    مكان الباراميتر model نضع كائن من الكلاس ListModel.

    ترمي الإستثناء IllegalArgumentException في حال كان كائن الـ dataModel فارغاً, أي قيمته تساوي null.
    public ListModel<E> getModel() ترجع نسخة من كائن الـ ListModel الذي يستخدمه كائن الـ JList الذي قام بإستدعائها.
    public void setLayoutOrientation(int layoutOrientation) تستخدم لتحديد طريقة ظهور العناصر بداخل كائن الـ JList الذي قام بإستدعائها.
    مكان الباراميتر layoutOrientation نضع إحدى الثوابت الموجودة في الكلاس ListModel المخصصة لتحديد طريقة ظهور العناصر بداخل كائن الـ JList.

    الثوابت التي يسمح باستخدامها هي:

      JList.VERTICAL.

      JList.VERTICAL_WRAP.

      JList.HORIZONTAL_WRAP.


    إفتراضياً, الثابت الذي يستخدم هو JList.VERTICAL.

    ترمي الإستثناء IllegalArgumentException في حال كان الثابت المستخدم غير مناسب للدالة.
    public void setSelectionMode(int selectionMode) تستخدم لتحديد طريقة ظهور العناصر بداخل كائن الـ JList الذي قام بإستدعائها.
    مكان الباراميتر layoutOrientation نضع إحدى الثوابت الموجودة في الكلاس ListSelectionModel المخصصة لتحديد طريقة ظهور العناصر بداخل كائن الـ JList.

    الثوابت التي يسمح باستخدامها هي:

      ListSelectionModel.SINGLE_SELECTION.

      ListSelectionModel.SINGLE_INTERVAL_SELECTION.

      ListSelectionModel.MULTIPLE_INTERVAL_SELECTION.


    إفتراضياً, الثابت الذي يستخدم هو ListSelectionModel.MULTIPLE_INTERVAL_SELECTION.

    ترمي الإستثناء IllegalArgumentException في حال كان الثابت المستخدم غير مناسب للدالة.

    أمثلة شاملة

    في جميع الأمثلة سنتعامل مع القائمة كالتالي:

    1. سنقوم بتعريف كائن من الكلاس JList و الذي بدوره يمثل القائمة التي ستظهر في واجهة المستخدم.
    2. سنقوم بتعريف كائن من الكلاس DefaultListModel و الذي سنستخدمه لتخزين العناصر التي ستظهر في القائمة.
    3. سنقوم بربط كائن الـ DefaultListModel بكائن الـ JList. هنا يمكن ربطهما بطريقتين:
         

      من خلال وضع كائن الـ DefaultListModel في كونستركتور كائن الـ JList.
         

      من خلال إستدعاء الدالة setModel() و تمرير كائن الـ DefaultListModel لها كـ Argument.

    4. سنقوم بتعريف كائن من الكلاس JScrollPane و نضع كائن الـ JList فيه, و بذلك نضمن ظهور Scroll Bar عند الحاجة.
    5. في الأخير, سنقوم بوضع كائن الـ JScrollPane في النافذة, و الذي بدوره أصبح يحتوي على القائمة و جميع العناصر التي فيها.


    المثال الأول

    المثال التالي يعلمك طريقة إنشاء كائن من الكلاس JList يحتوي على عناصر.

    طريقة تعريف قائمة في جافا Jو إضافة عناصر فيها

    شاهد المثال »



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

    المثال التالي يعلمك طريقة تغيير نوع و حجم و لون خط عناصر كائن الـ JList.

    طريقة تغيير نوع و حجم و لون خط عناصر كائن ال Jفي جافا

    شاهد المثال »



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

    المثال التالي يعلمك طريقة معرفة عدد و قيم العناصر التي قام المستخدم باختيارها في كائن الـ JList.
    هنا النتيجة تتغير مباشرةً أثناء إختيار العناصر من القائمة.

    طريقة معرفة عدد و قيم العناصر التي قام المستخدم باختيارها في القائمة Jفي جافا

    شاهد المثال »



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

    المثال التالي يعلمك طريقة معرفة عدد و قيم العناصر التي قام المستخدم باختيارها في كائن الـ JList عند النقر على كائن الـ JButton.

    طريقة معرفة عدد و قيم العناصر التي قام المستخدم باختيارها في القائمة Jفي جافا

    شاهد المثال »



    المثال الخامس

    المثال التالي يعلمك طريقة إجبار المستخدم على إختيار قيمة واحدة من القيم الموجودة في كائن الـ JList.
    كما أنك ستتعلم كيف تجلب القيم التي إختارها المستخدم من قائمتين عند النقر على كائن الـ JButton.

    طريقة معرفة قيم العناصر التي قام المستخدم باختيارها من قائميتن مختلفتين Jفي جافا

    شاهد المثال »



    المثال السادس

    المثال التالي يعلمك طريقة جعل المستخدم يدخل قيم في كائن الـ JList, بالإضافة إلى جعله قادر على حذف القيم التي أدخلها.

    طريقة جعل المستخدم يضيف و يحذف قيم في القائمة Jفي جافا

    شاهد المثال »



    المثال السابع

    المثال التالي يعلمك تغيير طريقة عرض العناصر بداخل كائن الـ JList.
    هنا قمنا بوضع نفس كائن الـ DefaultListModel بداخل ثلاث كائنات من الكلاس JList لكننا قمنا بتغيير طريقة عرض العناصر في كل كائن منهم.

    تغيير طريقة عرض العناصر بداخل القائمة في جافا JList

    شاهد المثال »



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

    المثال التالي يعلمك تحديد الطريقة التي يسمح فيها للمستخدم بإختيار العناصر من كائن الـ JList.
    هنا قمنا بوضع نفس كائن الـ DefaultListModel بداخل ثلاث كائنات من الكلاس JList لكننا قمنا بتغيير الطريقة التي يسمح فيها للمستخدم بإختيار العناصر في كل كائن منهم.

    تحديد الطريقة التي يسمح فيها للمستخدم بتحديد العناصر في ال Jفي جافا

    شاهد المثال »

    إعلان

    Eqla3Tech.com

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

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

    الدورات

    أدوات مساعدة

    الأقسام

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