Swingطريقة إضافة عناصر JMenuItem
في كل قائمة JMenu
و تنفيذ أوامر عند النقر على العناصر
المثال التالي يعلمك طريقة إضافة عناصر ( Menu Items ) في كل قائمة و إضافة خط فاصل ( Separator ) بين العناصر.
ستتعلم أيضاً كيف تنفذ أوامر عند النقر على العناصر الموجودة في القوائم.
مثال
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; public class Main { public static void main(String[] args) { JFrame frame = new JFrame("JMenuBar demo"); // أي قمنا بإنشاء نافذة مع وضع عنوان لها JFrame هنا أنشأنا كائن من الكلاس frame.setSize(500, 250); // هنا قمنا بتحديد حجم النافذة. عرضها 500 و طولها 250 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // هنا جعلنا زر الخروج من النافذة يغلق البرنامج // هنا قمنا بتعريف شريط القوائم JMenuBar menuBar = new JMenuBar(); // هنا قمنا بتعريف 3 قوائم JMenu file = new JMenu("File"); JMenu edit = new JMenu("Edit"); JMenu help = new JMenu("Help"); // هنا قمنا بتعريف 11 عنصر JMenuItem newFile = new JMenuItem("New"); JMenuItem open = new JMenuItem("Open"); JMenuItem save = new JMenuItem("Save"); JMenuItem exit = new JMenuItem("Exit"); JMenuItem undo = new JMenuItem("Undo"); JMenuItem cut = new JMenuItem("Cut"); JMenuItem copy = new JMenuItem("Copy"); JMenuItem paste = new JMenuItem("Paste"); JMenuItem select = new JMenuItem("Select All"); JMenuItem about = new JMenuItem("About"); JMenuItem report = new JMenuItem("Report Issue"); // هنا قمنا بوضع القوائم الثلاثة في شريط القوائم menuBar.add(file); menuBar.add(edit); menuBar.add(help); // file في القائمة exit و save ,open ,newFile هنا قمنا بوضع العناصر file.add(newFile); file.add(open); file.add(save); file.addSeparator(); // هنا أضفنا خط فاصل file.add(exit); // edit في القائمة select و paste ,copy ,cut ,undo هنا قمنا بوضع العناصر edit.add(undo); edit.addSeparator(); // هنا أضفنا خط فاصل edit.add(cut); edit.add(copy); edit.add(paste); edit.addSeparator(); // هنا أضفنا خط فاصل edit.add(select); // help في القائمة report و about هنا قمنا بوضع العناصر help.add(about); help.add(report); // frame هنا قمنا بوضع شريط القوائم في الـ frame.setJMenuBar(menuBar); // مرئية frame هنا جعلنا الـ frame.setVisible(true); // هنا نضع الأوامر التي ستنفذ عند النقر على كل عنصر موجود في القائمة ActionListener al = new ActionListener() { public void actionPerformed(ActionEvent e) { if( e.getSource() == newFile ) { // newFile هنا نضع الأوامر التي نريد أن يتم تنفيذه عند النقر على العنصر } else if( e.getSource() == open ) { // open هنا نضع الأوامر التي نريد أن يتم تنفيذه عند النقر على العنصر } else if( e.getSource() == save ) { // save هنا نضع الأوامر التي نريد أن يتم تنفيذه عند النقر على العنصر } else if( e.getSource() == exit ) { // exit هنا نضع الأوامر التي نريد أن يتم تنفيذه عند النقر على العنصر } else if( e.getSource() == undo ) { // undo هنا نضع الأوامر التي نريد أن يتم تنفيذه عند النقر على العنصر } else if( e.getSource() == copy ) { // copy هنا نضع الأوامر التي نريد أن يتم تنفيذه عند النقر على العنصر } else if( e.getSource() == cut ) { // cut هنا نضع الأوامر التي نريد أن يتم تنفيذه عند النقر على العنصر } else if( e.getSource() == paste ) { // paste هنا نضع الأوامر التي نريد أن يتم تنفيذه عند النقر على العنصر } else if( e.getSource() == select ) { // select هنا نضع الأوامر التي نريد أن يتم تنفيذه عند النقر على العنصر } else if( e.getSource() == about ) { // about هنا نضع الأوامر التي نريد أن يتم تنفيذه عند النقر على العنصر } else if( e.getSource() == report ) { // report هنا نضع الأوامر التي نريد أن يتم تنفيذه عند النقر على العنصر } } }; // al هنا ربطنا جميع العناصر بالكائن newFile.addActionListener(al); open.addActionListener(al); save.addActionListener(al); exit.addActionListener(al); undo.addActionListener(al); cut.addActionListener(al); copy.addActionListener(al); paste.addActionListener(al); select.addActionListener(al); about.addActionListener(al); report.addActionListener(al); } }
ستظهر لك النافذة التالية عند التشغيل.
كل قائمة تحتوي على مجموعة عناصر مختلفة تظهرهم عند النقر عليها.