



کلاس JMenuBar
کلاس JMenuBar برای نمایش نوار منو در یک پنجره یا فریم برنامه استفاده می شود. شی ایجاد شده از کلاس JMenuBar خود می تواند شامل چندین منو شود.
کلاس JMenu
هدف از کلاس JMenu نمایش رو به پایین لیست آیتم های یک منو می باشد.
کلاس JMenuItem
بعد از این که MenuBar یا نوار منو خود را در فریم ایجاد کردیم و و بعد یک Menu به نوار منوی خود اضاف کردیم حالا می رسیم به مرحله اضاف کردن آیتم های خود به منو که با انتخاب منوی مربوطه لیست آیتم ها رو به پایین نمایش داده شوند.
برای ایجاد آیتم های یک منو از کلاس JMenuItem استفاده می کنیم.
برای درک این این سه کلاس تصویر(1) را مشاهده کنید:.png)
• یک JMenuBar می تواند از چندین JMenu تشکیل شود.
• یک JMenu می تواند از چندین JMenuItem تشکیل شود.
• همچنین می توانیم به یک JMenu ، JMenu دیگری به عنوان یکی از ایتم های آن اضافه کنیم.تصویر(2).png)
بررسی تصویر(2) :
1. بخش قرمز رنگ: JMenuBar ما که شامل چندین JMenu است.
2. بخش سبز رنگ: آیتم های منو File که بصورت لیست رو به پایین نمایش داده شده اند.
3. بخش آبی رنگ: آیتم های منو New را شامل می شود . منو New خود یک آیتم از منو File می باشد.پس می توانیم یک JMenu را به عنوان یک آیتم از JMenu دیگر درنظر بگیریم.
خب بریم سراغ بررسی این مفاهیم با حل مثال:
مثال:
| package javalike ; import javax.swing.*; class MenuExample { JMenu menu, submenu; JMenuItem i1, i2, i3, i4, i5; MenuExample(){ JFrame f= new JFrame("Menu and MenuItem Example"); JMenuBar mb=new JMenuBar(); menu=new JMenu("Menu"); submenu=new JMenu("Sub Menu"); i1=new JMenuItem("Item 1"); i2=new JMenuItem("Item 2"); i3=new JMenuItem("Item 3"); i4=new JMenuItem("Item 4"); i5=new JMenuItem("Item 5"); menu.add(i1); menu.add(i2); menu.add(i3); submenu.add(i4); submenu.add(i5); menu.add(submenu); mb.add(menu); f.setJMenuBar(mb); f.setSize(400,400); f.setLayout(null); f.setVisible(true); } public static void main(String args[]) { new MenuExample(); }} |
خروجی: تصویر(3).png)
| JMenu menu, submenu; JMenuItem i1, i2, i3, i4, i5; |
• دو JMenu و پنج JMenuItem که آیتم های منوهای ما را تشکیل می دهند را تعریف کرده ایم.
| JMenuBar mb=new JMenuBar(); |
• یک منو بار برای چسباندن منوهای خود به ان تعریف کرده و از آن شی ایجاد کرده ایم.پس فونداسیون و پایه منوهای ما را منوبار تشکیل می دهد.
menu=new JMenu("Menu"); submenu=new JMenu("Sub Menu"); |
با صدا زدن سازنده های کلاس JMenu دو شی به نام های menu و submenu ایجاد می کنیم.
i1=new JMenuItem("Item 1"); i2=new JMenuItem("Item 2"); i3=new JMenuItem("Item 3"); i4=new JMenuItem("Item 4"); i5=new JMenuItem("Item 5"); |
• پنج شی از JMenuItem ایجاد می کنیم.این پنج شی آیتم های منوهای مربوطه را تشکیل می دهند.
menu.add(i1); menu.add(i2); menu.add(i3); |
• آیتم های یک تا سه را به شی menu اضاف می کنیم.
submenu.add(i4); submenu.add(i5); |
menu.add(submenu); |
mb.add(menu); |
f.setJMenuBar(mb); |
• با این متد منوبار خود را به فریم اضاف می کنیم.
مثال:
package javalike; import javax.swing.*; import java.awt.event.*; public class MenuExample implements ActionListener { JFrame f; JMenuBar mb; JMenu file, edit, help; JMenuItem cut, copy, paste, selectAll; JTextArea ta; MenuExample() { f = new JFrame(); cut = new JMenuItem("cut"); copy = new JMenuItem("copy"); paste = new JMenuItem("paste"); selectAll = new JMenuItem("selectAll"); cut.addActionListener(this); copy.addActionListener(this); paste.addActionListener(this); selectAll.addActionListener(this); mb = new JMenuBar(); file = new JMenu("File"); edit = new JMenu("Edit"); help = new JMenu("Help"); edit.add(cut); edit.add(copy); edit.add(paste); edit.add(selectAll); mb.add(file); mb.add(edit); mb.add(help); ta = new JTextArea(); ta.setBounds(5, 5, 360, 320); f.add(ta); f.setJMenuBar(mb); f.setLayout(null); f.setSize(400, 400); f.setVisible(true); } public void actionPerformed(ActionEvent e) { if (e.getSource() == cut) ta.cut(); if (e.getSource() == paste) ta.paste(); if (e.getSource() == copy) ta.copy(); if (e.getSource() == selectAll) ta.selectAll(); } public static void main(String[] args) { new MenuExample(); } } |
خروجی: تصویر(4).png)
• یک برنامه ویرایشگر ساده را مشاهده می کنید که در بخش منو Edit آیتم selectAll را انتخاب کرده ایم که موجب انتخاب همه متن های درون ویرایشگر شده است.
توضیحات:
public class MenuExample implements ActionListener { |
| 1. JFrame f; 2. JMenuBar mb; 3. JMenu file, edit, help; 4. JMenuItem cut, copy, paste, selectAll; 5. JTextArea ta; |
1. تعریف یک شی از نوع JFrame
2. تعریف یک شی از نوع کلاس JMenuBar که منوبار ما را تشکیل می دهد.
3. تعریف چند شی به عنوان منوهای برنامه
4. تعریف چند شی به عنوان آیتم های منوهای برنامه
5. تعریف یک شی از نوع کلاس JTextArea که محیط ویرایشگر ما را تشکیل می دهد.
| cut = new JMenuItem("cut"); copy = new JMenuItem("copy"); paste = new JMenuItem("paste"); selectAll = new JMenuItem("selectAll"); |
| cut.addActionListener(this); copy.addActionListener(this); paste.addActionListener(this); selectAll.addActionListener(this); |
• رویدادهای ActionListener را به آیتم های خود اضاف می کنیم.در صورت کلیک کردن روی هر ایتم واکنش نسبت داده شده به هر ایتم اجرا می شود.
| mb = new JMenuBar(); |
• منوبار خود را ایجاد می کنیم.
| file = new JMenu("File"); edit = new JMenu("Edit"); help = new JMenu("Help"); |
• منوهای خود را می سازیم.
| edit.add(cut); edit.add(copy); edit.add(paste); edit.add(selectAll); |
| mb.add(file); mb.add(edit); mb.add(help); |
• حال منوهای خود را به منو بار اضاف می کنیم.
| ta = new JTextArea(); ta.setBounds(5, 5, 360, 320); |
| f.add(ta); |
• TextArea خود را به فریم اضاف می کنیم.
| f.setJMenuBar(mb); |
| public void actionPerformed(ActionEvent e) { if (e.getSource() == cut) ta.cut(); if (e.getSource() == paste) ta.paste(); if (e.getSource() == copy) ta.copy(); if (e.getSource() == selectAll) ta.selectAll(); } |
...........ادامه این جلسه آموزشی را در لینک زیر بصورت پی دی اف شده مرتب دانلود کنید.
این جلسه آموزشی را می توانید بصورت کتاب الکترونیکی (PDF شده) در لینک زیر دریافت کنید.
این جلسه آموزشی را بصورت کامل و مرتب شده در لینک زیر دانلود کنید:(در صورت خرابی لینک گزارش دهید)
لینک دانلود
نشر این مطلب با ذکر منبع (لینک سایت) بلامانع است.
برای با خبر شدن از جدیدترین مطالب آموزشی جاوا عضو کانال تلگرام ما شوید.
بستن *نام و نام خانوادگی * پست الکترونیک * متن پیام |
دوره های آموزشی برنامه نویسی
انجام پروژه های برنامه نویسی
تدریس خصوصی برنامه نویسی
بیش از 10 سال از فعالیت جاواپرو میگذرد
جاواپرو دارای مجوز نشر دیجیتال از وزارت فرهنگ و ارشاد اسلامی می باشد
جهت ارتباط مستقیم با جاواپرو در واتساپ و تلگرام :
09301904690
بستن دیگر باز نشو! |


![مشاهده جزییات و سرفصل های دوره Spring Batch [اینجا کلیک کنید]](https://dl.javapro.ir/spring_batch/springbatch_pop.png)


![مشاهده سرفصل ها و ثبت نام در دوره Spring Boot جاواپرو [کلیک کنید]](https://dl.javapro.ir/image/marketing/banerday1403springboot.png)
























.png)
-min.png)
-min.png)
-min.png)


-min.png)









-min.png)

.jpg)