إنشاء القوائم المنبثقة فى الجافا JPopupMenu

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

إنشاء القوائم المنبثقة فى الجافا JPopupMenu

مُساهمة من طرف زهراء في الثلاثاء فبراير 25, 2014 3:32 pm

بسم الله الرحمن الرحيم


القوائم المنبثقة فى الجافا JPopupMenu هو عبارة عن قائمة عناصر يمكنك إضافتها و إظهارها من خلال النقر على زر الماوس الايمن على أى من المكونات الرسومية مثل النافذة و زر الامر و الجدول و خلافة



1_ إنشاء كائن القائمة المنبثقة

يمكنك انشاء كائن القائمة المنبثقة من خلال انشاء مثيل جديد من الطبقة أو الفئة JPopupMenu و ذلك على النحو التالى :

الرمز:
JPopupMenu p = new JPopupMenu();


2_ إضافة العناصر الى القائمة المنبثقة

لكى تتمكن من اضافة عناصر الى كائن القائمة المنبثقة عليك اولا انشاء مثيل جديد من الطبقة JMenuItem مع تمرير اسما لهذا العنصر على النحو التالى :

الرمز:
JMenuItem jMenuItem_A = new JMenuItem("Menu Item A");
        JMenuItem jMenuItem_B = new JMenuItem("Menu Item B");
        JMenuItem jMenuItem_C = new JMenuItem("Menu Item C");

فى الكود أعلاه قمنا بانشاء عناصر القائمة المنبثقة jMenuItem_A , jMenuItem_B ,jMenuItem_C  ,و التى لها الاسماء  Menu Item A , Menu Item B , Menu Item C على التوالى

الان يمكنك استخدام الاسلوب add لاضافة تلك العناصر الى كائن القائمة المنبثقة الذى قمنا بإنشائه فى الخطوة رقم 1 على النحو التالى :

الرمز:
p.add(jMenuItem_A);
        p.add(jMenuItem_B);
        p.add(jMenuItem_C);


3_عرض القائمة المنبثقة على النافذة

لكى تتمكن من عرض القائمة المنبثقة على النافذة عليك إضافة مستمع لحدث النقر على الماوس على النافذة كما يلى :

الرمز:
f.addMouseListener(new MouseAdapter(){
      
 
 });

حيث أن f هى النافذة المراد عرض القائمة المنبثقة عليها

_ بعد ذلك سنقوم بتنفيذ الطريقة mouseReleased بداخل المستع أعلاه والتى تقوم بتنفيذ حدث عند النقر على الماوس ونستخدم معها الاسلوب isPopupTrigger و الذى يقوم بارجاع قيمية صحيحة عند عرض المنبثقة كما يلى :

الرمز:
f.addMouseListener(new MouseAdapter(){
      
  public void mouseReleased(MouseEvent Me){
  if(Me.isPopupTrigger()){
  p.show(Me.getComponent(), Me.getX(), Me.getY());
  }
  }
  });

ويمكنك ملاحظة أننا استخدمنا الاسلوب show

4_إضافة حدث لعناصر القوائم المنبثقة

يمكنك إضافة حدث لكل عنصر من عناصر القائمة المنبثقة على النحو التالى :

الرمز:
jMenuItem_A.addActionListener(new ActionListener(){
  public void actionPerformed(ActionEvent e){
  
  System.out.println("jMenuItem_A");
  
  }
  
  });

فى الكود اعلاه عند النقر على العنصر jMenuItem_A سيتم طباعة الجملة jMenuItem_A

زهراء
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 262
النقاط : 372
التقيم : 24
الدولة : مصر
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: إنشاء القوائم المنبثقة فى الجافا JPopupMenu

مُساهمة من طرف abunwaaf في الثلاثاء فبراير 25, 2014 6:03 pm

يعطيك العافية استاذة زهراء على الشرح المتقن
كنت ابحث من مدة عن شرح وافي لهذه الطريقة لاضافة النسخ والصق في مكون jText

مشكورة استاذة زهراء مرة اخرى وبارك الله فيك

abunwaaf
..
..

تاريخ التسجيل : 01/01/2014
المساهمات : 15
النقاط : 25
التقيم : 2
الدولة : السعودية
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: إنشاء القوائم المنبثقة فى الجافا JPopupMenu

مُساهمة من طرف زهراء في الثلاثاء فبراير 25, 2014 9:08 pm


أشكرك أخى الفاضل و نتمنى دايما أن نكون على قدر المسئولية .....جزاكم الله خيرا

زهراء
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 262
النقاط : 372
التقيم : 24
الدولة : مصر
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: إنشاء القوائم المنبثقة فى الجافا JPopupMenu

مُساهمة من طرف أحمد مناع في الثلاثاء فبراير 16, 2016 5:29 pm

شكرا زهراء

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم

إن فقدت مكان بذورك التي بذرتها يوما ما سيخبرك المطر أين زرعتها ..لذا إبذر الخير فوق أي أرض وتحت أي سماء ومع أي أحد.. فأنت لا تعلم أين تجده ومتى تجده؟! إزرع جميلا ولو في غير موضعه .... فلا يضيع جميلا أينما زرعا .. فما أجمل العطاء... فقد تجد جزاءه في الدنيا أو يكون لك ذخرا في الآخرة

أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 810
النقاط : 1479
التقيم : 69
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى