هناك نوعان من القوائم: قائمة منسدلة وقائمة منبثقة. يناقش هذا الفصل فقط طريقة برمجة القائمة المنسدلة. تختلف القائمة عن JCOMBOBOX و JCHECKBOX ، وهي دائمًا مرئية في الواجهة. نفس الشيء في القائمة مع JCOMBOBOX هو أنه يمكن تحديد عنصر واحد فقط في وقت واحد.
تحديد خيار في القائمة المنسدلة أو القائمة المنبثقة ينشئ حدث ActionEvent. يتم إرسال الحدث إلى مراقبة هذا الخيار ، ويتم تفسير معنى الحدث من قبل الشاشة.
أشرطة القائمة والقوائم وعناصر القائمة
يتم تصور القائمة المنسدلة بالاسم الذي يظهر في شريط القائمة. هناك طريقتان لتفعيل القائمة المنسدلة. أحدهما هو الضغط على زر الماوس والاحتفاظ به مضغوطًا ، حرك الماوس حتى يتم إصدار الماوس لإكمال التحديد ، ويتم تحديد عنصر القائمة مع السطوع العالي. هناك طريقة أخرى هي النقر على الماوس عندما يكون المؤشر على اسم القائمة في شريط القائمة ، وفي هذه الحالة توسع القائمة ويتم عرض عناصر القائمة مع سطوع عال.
يمكن أن يحتوي شريط القائمة على قوائم متعددة (JMenu) ، ويمكن لكل قائمة العديد من عناصر القائمة (JMenuitem). على سبيل المثال ، تتضمن أشرطة القائمة في بيئة Eclipse الملفات والتحرير والمصدر و Refactor وغيرها من القوائم ، وكل قائمة تحتوي على العديد من عناصر القائمة. على سبيل المثال ، تتضمن قائمة الملف عناصر القائمة مثل الملف الجديد المفتوح وإغلاقه وإغلاقه.
طريقة إضافة القوائم إلى النافذة هي: أولاً إنشاء كائن قائمة ، ثم قم بإنشاء العديد من كائنات القائمة ، ووضع كائنات القائمة هذه في شريط القائمة ، ثم إضافة عناصر القائمة إلى كل كائن قائمة على النحو المطلوب.
يمكن أن تكون عناصر القائمة في القائمة قائمة كاملة. نظرًا لأنه يمكن أن يكون عنصر القائمة مرة أخرى قائمة كاملة ، يمكن إنشاء بنية قائمة هرمية.
1. شريط القائمة
مثال على jmenubar هو شريط قائمة. على سبيل المثال ، الرمز التالي ينشئ كائن Menubar Menubar:
jmenubar menubar = new jmenubar () ؛
لإضافة شريط قائمة في النافذة ، يجب عليك استخدام طريقة setjmenubar () في فئة JFrame. على سبيل المثال ، الكود:
setjmenubar (مينوبار) ؛
الطرق الشائعة لـ JMenubar هي:
2. القائمة <br /> الكائن الذي تم إنشاؤه بواسطة فئة Jmenu هو القائمة. الأساليب الشائعة لفئة jmenu هي كما يلي:
3. عنصر القائمة <br /> مثال على الفئة jmenuitem هو عنصر قائمة. الطرق الشائعة للفئة jmenuitem هي كما يلي:
4. التعامل مع أحداث القائمة <br /> مصدر الحدث للقائمة هو النقر فوق عنصر قائمة مع الماوس. الواجهة التي تتعامل مع هذا الحدث هي ActionListener ، وطريقة الواجهة التي سيتم تنفيذها هي ActionPerformed (ActionEvent e) ، وطريقة الحصول على مصدر الحدث getSource ().
[مثال] طريقة التنفيذ في نافذة مخطط التطبيق الصغيرة تحتوي على شريط قائمة. هناك زر عندما يكون الزر في حالة النافذة المفتوحة ، فإن النقر على الزر سيفتح نافذة. عند تحديد عنصر قائمة ، تعرض طريقة مراقبة عنصر القائمة عنصر القائمة المقابل المحدد في مربع النص.
استيراد java.applet.*استيراد javax.swing.*؛ استيراد java.awt. ، مستمع ActionLister) (S) ؛ ؛ "الغناء" ، هذا) ؛ ؛ ! = New Menudowow ("نافذة الرياضة والترفيه" ، 100،00) ؛ ) ":::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::: :::::::::::::::::::::: ::::::::::::::::: 5. MinSed Submenu <Br /> يتم إنشاء قائمة وإنشاء عناصر قائمة متعددة ، وأحد عناصر القائمة هو قائمة أخرى (بما في ذلك عناصر القائمة الأخرى) ، والتي تشكل تعشش القائمة. على سبيل المثال ، قم بتغيير الكود ذي الصلة في البرنامج أعلاه إلى ما يلي:
Menu1 ، Menu2 ، item4 ؛
أدخل الكود التالي لإنشاء عناصر القائمة item41 و item42 وإضافتها إلى قائمة item4:
item41 = new Menuitem ("Dongfanghong") ؛
ثم عند النقر فوق قائمة item4 ، سيتم فتح عنصرين قائمة للاختيار.
6. أضف عنصر خروج إلى القائمة <BR /> إضافة عنصر جديد لإضافة مراقبة إلى عنصر القائمة . على سبيل المثال ، الرمز التخطيطي التالي:
... item7 = new menuitem ("exit") ؛ item7.addActionListener (this) ؛ ... public void actionperformed (actionevent e) {if ( 7. تعيين مفاتيح اختصار لعناصر القائمة <br /> استخدم فئة Menushortcut لتعيين مفاتيح اختصار لعناصر القائمة. طريقة البناء هي menushortcut (int Key). يمكن استخدام المفتاح كقيم keyevent.vk_a إلى kenevent.vk_z ، أو كقيمة رمز مفتاح 'a' إلى 'Z'. تستخدم عناصر القائمة طريقة SetShortCut (Menushortcut K) لتعيين مفاتيح الاختصار. على سبيل المثال ، يقوم الرمز التالي بتعيين الحرف E كمفتاح اختصار.
Class Herwindow يمتد إلى قائمة ActionLister {menubarحدد عناصر القائمة المربع
يمكن أن تحتوي القائمة أيضًا على خيارات ذات حالات اختيار مستمرة ، ويمكن تعريف هذه القائمة الخاصة بواسطة فئة JCheckBoxMenuitem. مثل مربع تحديد ، يمكن لكائن JCheckBoxMenuitem الإشارة إلى ما إذا كان يتم تحديد خيار أم لا ، أو يمكن إضافته إلى القائمة المنسدلة كعنصر قائمة. عند النقر فوق قائمة JCheckBoxMenuitem ، يظهر رمز TICK على الجانب الأيسر منه أو مسح رمز TIRCH. على سبيل المثال ، في فئة Menuwindow للبرنامج في المثال 6.5 ، ضع الرمز
AddItem (Menu1 ، "Running" ، this) ؛
أعد كتابته في الكود التالي ، وتغيير عناصر القائمة العادية "تشغيل" و "تشغيل القفز" إلى عناصر قائمة مربع التحديد:
jcheckboxmenutem item1 = new jcheckboxmenutem ("Running") ؛ "Skip rope") ؛ item2.AddActionListener (this) ؛ menu1.add (item2) ؛