เมนูมีสองประเภท: เมนูแบบเลื่อนลงและเมนูป๊อปอัพ บทนี้กล่าวถึงวิธีการเขียนโปรแกรมเมนูแบบเลื่อนลงเท่านั้น เมนูแตกต่างจาก jcombobox และ jcheckbox และจะมองเห็นได้เสมอในอินเทอร์เฟซ สิ่งเดียวกันเกี่ยวกับเมนูที่มี jcomboBox คือสามารถเลือกเพียงรายการเดียวในแต่ละครั้ง
การเลือกตัวเลือกในเมนูแบบเลื่อนลงหรือเมนูป๊อปอัพสร้างเหตุการณ์ ActionEvent เหตุการณ์จะถูกส่งไปยังจอภาพของตัวเลือกนั้นและความหมายของเหตุการณ์ถูกอธิบายโดยจอภาพ
บาร์เมนูเมนูและเมนู
เมนูแบบเลื่อนลงจะถูกมองเห็นด้วยชื่อที่ปรากฏบนแถบเมนู มีสองวิธีในการเปิดใช้งานเมนูแบบเลื่อนลง หนึ่งคือการกดปุ่มเมาส์และกดให้เลื่อนเมาส์จนกว่าเมาส์จะถูกปล่อยออกมาเพื่อให้การเลือกเสร็จสมบูรณ์และรายการเมนูที่แสดงด้วยความสว่างสูงคือการเลือก อีกวิธีหนึ่งคือคลิกเมาส์เมื่อเคอร์เซอร์อยู่ในชื่อเมนูในแถบเมนูซึ่งในกรณีนี้เมนูขยายและรายการเมนูจะแสดงด้วยความสว่างสูง
แถบเมนูสามารถเก็บเมนูหลายเมนู (jmenu) และแต่ละเมนูสามารถมีรายการเมนูมากมาย (jmenuitem) ตัวอย่างเช่นแถบเมนูของสภาพแวดล้อม Eclipse รวมถึงไฟล์, แก้ไข, แหล่งที่มา, Refactor และเมนูอื่น ๆ และแต่ละเมนูมีรายการเมนูมากมาย ตัวอย่างเช่นเมนูไฟล์มีรายการเมนูเช่นใหม่เปิดไฟล์ปิดปิดทั้งหมด
วิธีการเพิ่มเมนูลงในหน้าต่างคือ: ก่อนสร้างวัตถุเมนูจากนั้นสร้างวัตถุเมนูหลายชิ้นวางวัตถุเมนูเหล่านี้ในแถบเมนูจากนั้นเพิ่มรายการเมนูลงในแต่ละวัตถุเมนูตามที่ต้องการ
รายการเมนูในเมนูอาจเป็นเมนูที่สมบูรณ์ เนื่องจากรายการเมนูสามารถเป็นอีกเมนูที่สมบูรณ์อีกครั้งโครงสร้างเมนูแบบลำดับชั้นสามารถสร้างได้
1. แถบเมนู
ตัวอย่างของ JMenubar คือแถบเมนู ตัวอย่างเช่นรหัสต่อไปนี้สร้าง Menubar Object Menubar:
JMENUBAR MENUBAR = ใหม่ JMENUBAR ();
ในการเพิ่มแถบเมนูในหน้าต่างคุณต้องใช้เมธอด setJmenubar () ในคลาส JFrame ตัวอย่างเช่นรหัส:
Setjmenubar (Menubar);
วิธีการทั่วไปของ JMenubar คือ:
2. เมนู <br /> วัตถุที่สร้างขึ้นโดยคลาส Jmenu คือเมนู วิธีการทั่วไปของคลาส JMenu มีดังนี้:
3. รายการเมนู <br /> ตัวอย่างของคลาส jmenuitem เป็นรายการเมนู วิธีการทั่วไปของคลาส jmenuitem มีดังนี้:
4. จัดการกิจกรรมเมนู <br /> แหล่งที่มาของเมนูคือคลิกรายการเมนูด้วยเมาส์ อินเทอร์เฟซที่จัดการกับเหตุการณ์นี้คือ ActionListener และวิธีการอินเตอร์เฟสที่จะนำไปใช้คือ ActionPerformed (ActionEvent E) และวิธีการรับแหล่งที่มาของเหตุการณ์ GetSource ()
[ตัวอย่าง] วิธีการใช้งานของหน้าต่างไดอะแกรมแอปพลิเคชันขนาดเล็กมีแถบเมนู มีปุ่ม เมื่อเลือกรายการเมนูวิธีการตรวจสอบรายการเมนูจะแสดงรายการเมนูที่เกี่ยวข้องที่เลือกในกล่องข้อความ
นำเข้า java.applet.*นำเข้า Javax.swing.*; นำเข้า Java.awt.*; นำเข้า Java.awt.event.*; เมนูคลาส Window ขยาย JFrame ดำเนินการแอ็คชั่น {ข้อความสาธารณะคงที่ , ActionListener Listener) {JMenuitem Anitem = ใหม่ JMenuitem (Menuname); (S); additem (menu 1, "กำลังทำงานอยู่" "การร้องเพลง", สิ่งนี้); Men Ubar ! ");}} คลาสสาธารณะตัวอย่าง 6_5 ขยายแอปเพล็ตใช้งานแอ็คชั่นแอ็คชั่น {หน้าต่างเมนู window; ปุ่ม jbutton; boolean bflg; โมฆะสาธารณะเริ่มต้น () {ปุ่ม = ใหม่ jbut ton (" เปิดกีฬาและหน้าต่างความบันเทิงของฉัน "); bflg = true; หน้าต่าง; หน้าต่าง; หน้าต่าง; หน้าต่าง; หน้าต่าง; = menuwindow ใหม่ ("หน้าต่างกีฬาและความบันเทิง", 100,100); ) {window.setvisible (จริง); bflg = false; "::::::::::::::::::::: กระทาน ::::::::::::::::::::::: กระทาน ::::::::::::::::::::::::::::::::::::: กระทาน. 5. ฝังเมนูย่อย <br /> เมนูถูกสร้างขึ้นและมีการสร้างรายการเมนูหลายรายการและหนึ่งในรายการเมนูเป็นอีกหนึ่งเมนู (รวมถึงรายการเมนูอื่น ๆ ) ซึ่งถือเป็นเมนูทำรัง ตัวอย่างเช่นเปลี่ยนรหัสที่เกี่ยวข้องในโปรแกรมข้างต้นเป็นต่อไปนี้:
เมนูเมนู 1, เมนู 2, รายการ 4;
แทรกรหัสต่อไปนี้เพื่อสร้างรายการเมนู item41 และ item42 และเพิ่มลงในเมนูรายการ 4:
item41 = menuitem ใหม่ ("Dongfanghong");
จากนั้นเมื่อคุณคลิกที่เมนูรายการ 4 รายการเมนูสองรายการจะเปิดขึ้นเพื่อเลือก
6. เพิ่มรายการออกไปยังเมนู <br /> เพิ่มรายการเมนูใหม่เพื่อเพิ่มการตรวจสอบในรายการเมนู . ตัวอย่างเช่นรหัสแผนผังต่อไปนี้:
… item7 = menuitem ใหม่ ("ออก"); item7.addactionListener (นี่); …โมฆะสาธารณะ ActionPerformed (ActionEvent E) {ถ้า (e.getSource () == รายการ 7) {System.e xit (0);}}}; 7. ตั้งค่าคีย์ลัดสำหรับรายการเมนู <br /> ใช้คลาส Menushortcut เพื่อตั้งค่าปุ่มลัดสำหรับรายการเมนู วิธีการก่อสร้างคือ menushortcut (คีย์ int) คีย์สามารถใช้เป็นค่า keyevent.vk_a ถึง kenevent.vk_z หรือเป็นค่ารหัสคีย์ 'A' ถึง 'Z' รายการเมนูใช้วิธี SetShortCut (MenusHortCut K) เพื่อตั้งค่าปุ่มลัด ตัวอย่างเช่นรหัสต่อไปนี้ตั้งค่าตัวอักษร E เป็นคีย์ทางลัด
ชั้นเรียน Herwindow ขยายการใช้งานเมนูเมนูเมนู Menubar;
เลือกรายการเมนูกล่อง
เมนูยังสามารถมีตัวเลือกที่มีสถานะการเลือกแบบถาวรและเมนูพิเศษนี้สามารถกำหนดได้โดยคลาส JCheckBoxMenuitem เช่นเดียวกับกล่องเลือกวัตถุ JCheckBoxMenuitem สามารถระบุได้ว่าตัวเลือกถูกเลือกหรือไม่หรือสามารถเพิ่มลงในเมนูแบบเลื่อนลงเป็นรายการเมนู เมื่อคุณคลิกเมนู jcheckboxmenuitem สัญลักษณ์ติ๊กจะปรากฏขึ้นที่ด้านซ้ายของมันหรือล้างสัญลักษณ์ติ๊ก ตัวอย่างเช่นในคลาส menuwindow ของโปรแกรมในตัวอย่าง 6.5 ใส่รหัส
AddItem (Menu1, "Running", สิ่งนี้);
เขียนใหม่ลงในรหัสต่อไปนี้เปลี่ยนรายการเมนูธรรมดาสองรายการ "กำลังทำงาน" และ "เรียกใช้การกระโดด" เป็นสองรายการเมนูกล่องเลือก:
jcheckboxmenuitem item1 = ใหม่ jcheckboxmenuitem ("กำลังวิ่ง"); "ข้ามเชือก"); item2.addactionListener (นี่); menu1.add (รายการ 2);