Programming Basics SQL HTML CSS JavaScript Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Learn Typing

Swingطريقة إضافة عناصر JMenuItem في كل قائمة JMenu و تنفيذ أوامر عند النقر على العناصر

المثال التالي يعلمك طريقة إضافة عناصر ( Menu Items ) في كل قائمة و إضافة خط فاصل ( Separator ) بين العناصر.
ستتعلم أيضاً كيف تنفذ أوامر عند النقر على العناصر الموجودة في القوائم.


مثال

Main.java
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() {
@Override
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);
}
}
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() { @Override 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); } }

ستظهر لك النافذة التالية عند التشغيل.

كل قائمة تحتوي على مجموعة عناصر مختلفة تظهرهم عند النقر عليها.

طريقة إضافة عناصر JMenuItem في كل قائمة JMenu و تنفيذ أوامر عند النقر على العناصر في جافا