پرش به محتوای اصلی
مسیر تخصصی جاوا و Spring
درخواست پروژهتدریس خصوصیارتباط با ماراهنما
جاواپرو v1.2.17یاد بگیر، تمرین کن، حرفه‌ای بساز
خانهدوره‌هاآموزش رایگانوبلاگمدرس‌هاخدمات
خانه♨️ جلسه سیزدهم - کلاس JPopupMenu در جاوا
آموزش برنامه نویسی »

♨️ جلسه سیزدهم - کلاس JPopupMenu در جاوا

در این جلسه آموزشی گرافیک در جاوا قصد داریم JPopupMenu را به زبان ساده و راحت بررسی کنیم.

۸ دقیقه مطالعهآموزش برنامه نویسی »آموزش جاوا و انجام پروژه های برنامه نویسی
♨️ جلسه سیزدهم - کلاس JPopupMenu در جاوا
محتوای منتخب جاواپرو

خلاصه مطلب

در این جلسه آموزشی گرافیک در جاوا قصد داریم JPopupMenu را به زبان ساده و راحت بررسی کنیم.
نوع محتوامقاله آموزشی
موضوعآموزش برنامه نویسی »
زمان مطالعه۸ دقیقه
آخرین ویرایش۲۸ آذر ۱۴۰۰

فهرست جلسات آموزش گرافیک در جاوا

جلسه اول | معرفی Swing در جاوا

جلسه دوم | کلاس JButton در جاوا

جلسه سوم | کلاس JLabel در جاوا

جلسه چهارم | کلاس JTextField درجاوا

جلسه پنجم | کلاس JTextArea در جاوا

جلسه ششم | کلاس JPasswordField در جاوا

جلسه هفتم | کلاس JCheckBox در جاوا

جلسه هشتم | کلاس JRadioButton در جاوا

جلسه نهم | کلاس JComboBox در جاوا

جلسه دهم | کلاس JTabel در جاوا

جلسه یازدهم | کلاس JOptionPane در جاوا

جلسه دوازدهم | ساخت منو گرافیکی در جاوا

جلسه سیزدهم | کلاس JPopupMenu در جاوا

جلسه چهاردهم | کلاس JSeparator در جاوا

جلسه پانزدهم | کلاس JProgressBar در جاوا

جلسه شانزدهم | کلاس JTree در جاوا

جلسه هفدهم | کلاس JColorChooser

جلسه هجدهم | کلاس JSlider در جاوا

جلسه نوزدهم | کلاس JSpinner در جاوا

جلسه بیستم | کلاس JPanel در جاوا

جلسه بیست و یکم | کلاس JFileChooser در جاوا

جلسه بیست و دوم | کلاس JLayeredPane در جاوا

جلسه بیست و سوم | استفاده از ToolTip در جاوا

جلسه بیست و چهارم |تغییر آیکون Frame در جاوا

جلسه بیست و پنجم | کلاس Graphics در جاوا

جلسه بیست و ششم | نمایش تصویر در Swing

آموزش رایگان گرافیک در زبان برنامه نویسی جاوا را در سایت جاواپرو دنبال کنید
آموزش رایگان گرافیک در زبان برنامه نویسی جاوا را در سایت جاواپرو دنبال کنید

♨️ جلسه سیزدهم - کلاس JPopupMenu در جاوا

یکی دیگر از اجزای گرافیکی که جاوا برای ساخت برنامه های دسکتاپی ارائه کرده کلاس JPopupMenu می باشد.

کلاس PopupMenu منویی است که می تواند بصورت پویا در یک موقعیت مشخص در یک اجزای گرافیکی ظهور کند. برای درک بهتر از شکل ظاهری PopupMenu می توانیم به مثال کلیک سمت راست در صفحه دسکتاپ کامپیوتر اشاره کنیم،وقتی ما در یک موقعیت مشخص از صفحه دسکتاپ با موس کلیک سمت راست می کنیم یک لیستی از گزینه ها نمایش داده می شود که این لیست همان PopupMenu می باشد.تصویر(1)

اموزش ساخت PopupMenu در جاوا
اموزش ساخت PopupMenu در جاوا

• همان طور که میدانید ما در هر مکان یا موقعیت از صفحه دکستاپ کلیک سمت راست کنیم این منو پویا نمایش داده می شود. خب در این جلسه قصد داریم روش ساخت این منو را یاد بگیریم که با کلیک کردن ( راست یا چپ) موس در برنامه خود یک PopupMenu نمایش داده شود.

• سازنده های پرکاربرد کلاس JPopupMenu :

توصیفسازنده
برای ایجاد یک JPopupMenu بدون پارامترJPopupMenu()
برای ایجاد یک JPopupMenu با عنوان مشخصJPopupMenu(String label)

خب توضیحات زیادی هم خوب نیست! بریم سراغ حل مثال :-)

مثال:

package javalike ; import javax.swing.*; import java.awt.event.*; class PopupMenuExample { PopupMenuExample() { final JFrame f = new JFrame("PopupMenu Example"); final JPopupMenu popupmenu = new JPopupMenu("Edit"); JMenuItem cut = new JMenuItem("Cut"); JMenuItem copy = new JMenuItem("Copy"); JMenuItem paste = new JMenuItem("Paste"); popupmenu.add(cut); popupmenu.add(copy); popupmenu.add(paste); f.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { popupmenu.show(f, e.getX(), e.getY()); } }); f.add(popupmenu); f.setSize(300, 300); f.setLayout(null); f.setVisible(true); } public static void main(String args[]) { new PopupMenuExample(); } }
آموزش آسان JPopupMenu در جاوا
آموزش آسان JPopupMenu در جاوا

خروجی: برنامه هنگام اجرا به صورت تصویر(2) خواهد بود:

• حال اگر هر جایی از فریم برنامه کلیک سمت راست یا چپ کنیم JPopupMenu ما نمایش داده می شود.تصویر(3)

آموزش آسان گرافیک در جاوا
آموزش آسان گرافیک در جاوا
final JPopupMenu popupmenu = new JPopupMenu("Edit");

• مثل هر اجزای گرافیکی دیگر برای استفاده از JPopupMenu از آن شی ایجاد کرده و متنی را که نقش عنوان منوی ما را دارد جایگزین پارامتر سازنده آن می کنیم.

JMenuItem cut = new JMenuItem("Cut"); JMenuItem copy = new JMenuItem("Copy"); JMenuItem paste = new JMenuItem("Paste");

• آیتم های JPopupMenu خود را با استفاده از کلاس JMenuItem می سازیم.متن درون سازنده کلاس JMenuItem عنوان هر آیتم را نشان می دهد.

popupmenu.add(cut); popupmenu.add(copy); popupmenu.add(paste);

• آیتم های خود را به منو JPopupMenu خود اضاف می کنیم.

f.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { popupmenu.show(f, e.getX(), e.getY()); } });

• همان طور که در ابتدا گفتیم JPopupMenu با کلیک کردن موس در یک مکان از برنامه نمایش داده می شود.پس ما باید از دستوری استفاده کنیم که بتواند رویداد مربوط به کلیک کردن موس در برنامه را شناسایی و دریافت کند و سپس عمل مورد نظر ما را اجرا کند.

• MouseAdapter یک کلاس انتزاعی یا abstract است که برای دریافت رویدادهای مربوط به موس استفاده می شود. منظور از رویدادهای موس همان کلیک کردن و دکمه های موس می باشد.

• کلاس MouseAdapter در بدنه خودش متدهایی دارد که یکی از آنها متد mouseClicked می باشد، متد mouseClicked وظیفه اش دریافت رویدادهای مربوط به کلیک کردن موس می باشد ، یعنی بار هر بار کلیک کردن موس این متد صدا زده می شود، و دستورات درون بدنه آن اجرا می شود.

• addMouseListener برای ثبت رویدادهای مربوط به موس در یک اجزای گرافیکی استفاده می شود. مثلا در اینجا شی f که از نوع کلاس JFrame هستش این متد را صدا زده است.این باعث میشه هر کجای فریم با موس کلیک کنیم ، رویداد رخ داده به فریم اضاف شود. به بیان ساده تر این متد باعث میشه frame به کلیک کردن موس روی آن حساس شود.

f.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { popupmenu.show(f, e.getX(), e.getY()); } });

• در دستور بالا برای اضاف کردن رویداد موس به فریم متد addMouseListener را صدا زده ایم.

• شی از کلاس انتزاعی MouseAdapter به جای پارامتر متد addMouseListener ایجاد می کنیم.

• متد mouseClicked را overrid یا بازنویسی می کنیم.

popupmenu.show(f, e.getX(), e.getY());

• متد show یکی از متدهای مربوط به کلاس JPopupMenu می باشد. این متد برای نمایش منو JPopupMenu در مختصات x و y اجزای گرافیکی ما کاربرد دارد. در اینجا برای نمایش JPopupMenu ما در مختصات x و y فریم ما استفاده شده است.

• سینتکس یا نحوه نوشتن متد show بصورت زیر است:

public void show( Component origin, int x, int y )

1. بجای پارامتر Component origin یک شی از اجزای گرافیکی که قراره منو JPopupMenu با کلیک کردن روی آن نمایش داده شود، قرار می گیرد.

2. x و y نیز موقعیت نمایش منو JPopupMenu را در اجزای گرافیکی مشخص می کند.

popupmenu.show(f, e.getX(), e.getY());

• در اینجا شی f که از نوع کلاس JFrame می باشد را به عنوان اجزای گرافیکی که قراره منو ما در آن نمایش داده شود به عنوان پارامتر اول متد show قرار داده ایم.

e.getX(), e.getY()

• e از نوع کلاس MouseEvent می باشد، یعنی رویدادهایی که از طرف موس رخ می دهد در شی e ذخیره می شود.

• حال قصد داریم مختصات نقطه ای از اجزای گرافیکی که روی آن نقطه با موس کلیک شده است را دریافت کنیم، برای این کار از طریق شی e متدهای getX و getY را صدا می زنیم.

• متد getX مقدار x مکان کلیک شده را می دهد.

• متد getY مقدار y مکان کلیک شده را می دهد.

1.f.add(popupmenu); 2.f.setSize(300, 300); 3.f.setLayout(null); 4.f.setVisible(true);

1. افزودن شی از نوع کلاس JPopupMenu به فریم.

2. تعیین اندازه فریم

3. چون از طرح بندی خاصی استفاده نکردیم مقدار پارامتر این متد را null قرار دادیم.

4. برای نمایش فریم و تمام اجزای گرافیکی این متد را صدا زده و پارامتر آن را true قرار می دهیم

مثال:

package javalike ; import javax.swing.*; import java.awt.event.*; class PopupMenuExample { PopupMenuExample() { final JFrame f = new JFrame("PopupMenu Example"); final JLabel label = new JLabel(); label.setHorizontalAlignment(JLabel.CENTER); label.setSize(400, 100); final JPopupMenu popupmenu = new JPopupMenu("Edit"); JMenuItem cut = new JMenuItem("Cut"); JMenuItem copy = new JMenuItem("Copy"); JMenuItem paste = new JMenuItem("Paste"); popupmenu.add(cut); popupmenu.add(copy); popupmenu.add(paste); f.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { popupmenu.show(f, e.getX(), e.getY()); } }); cut.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { label.setText("cut MenuItem clicked."); } }); copy.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { label.setText("copy MenuItem clicked."); } }); paste.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { label.setText("paste MenuItem clicked."); } }); f.add(label); f.add(popupmenu); f.setSize(400, 400); f.setLayout(null); f.setVisible(true); } public static void main(String args[]) { new PopupMenuExample(); } }

خروجی: بعد از اجرای برنامه و کلیک کردن روی فریم خروجی بصورت تصویر(4) خواهد بود:

آموزش گرافیک در جاوا
آموزش گرافیک در جاوا
PopupMenu در جاوا
PopupMenu در جاوا

• حال گزینه copy را از میان آیتم های PopupMenu انتخاب می کنیم، خروجی بصورت تصویر(5) خواهد بود: • همان طور که در تصویر مشاهده می کنید با انتخاب گزینه copy از لیست منو ظاهر شده، پیامی در لیبل موجود در بالای فریم برنامه نمایش داده شده است. توضیحات:

import java.awt.event.*;

• برای استفاده تمام رویدادهای موس و صفحه کلید و.... از این پکیج در برنامه خود استفاده می کنیم.

label.setHorizontalAlignment(JLabel.CENTER);

• متد setHorizontalAlignment برای تنظیم حالت افقی label ما کاربرد دارد. و پارامتر JLabel.CENTER میگه لیبل ما را وسط یا مرکز حالت افقی در فریم قرار بده.

cut.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { label.setText("cut MenuItem clicked."); } });

• اگر جلسات قبل رو مطالعه کرده باشید باید با متد addActionListener آشنا باشید ، این متد برای اضاف کردن یک ActionListener به اجزای گرافیکی ما نظیر دکمه ها، منوها،آیتم ها و...استفاده می شود.

• در اینجا قصد داریم یک ActionListener را به شی cut که از نوع کلاس JMenuItem می باشد اضاف کنیم. که با انتخاب این آیتم عمل خاصی اجرا شود.

public void actionPerformed(ActionEvent e) { label.setText("cut MenuItem clicked."); }

• متد actionPerformed رویدادهای مربوط به انتخاب یا کلیک کردن روی اجزای گرافیکی را دریافت می کند.مثل فشردن دکمه button، گزینه ای در منو ها و...

• وقتی رویدادی رخ دهد متد actionPerformed صدا زده می شود و دستورات درون بدنه ان اجرا می شود.

label.setText("cut MenuItem clicked.");

• اگر متد actionPerformed صدا زده شود دستور فوق اجرا می شود.

• این دستور یک متن را درون label قرار میدهد.

سایر موارد در این جلسه و جلسات قبل توضیح داده ایم.

پیروز و موفق باشید

آموزش آسان و ساده زبان برنامه نویسی جاوا
آموزش آسان و ساده زبان برنامه نویسی جاوا

این جلسه آموزشی را می توانید بصورت کتاب الکترونیکی (PDF شده) در لینک زیر دریافت کنید. این جلسه آموزشی را بصورت کامل و مرتب شده در لینک زیر دانلود کنید:(در صورت خرابی لینک گزارش دهید) لینک دانلود

آموزش زبان جاوا
آموزش زبان جاوا
آموزش زبان جاوا
آموزش زبان جاوا

نشر این مطلب با ذکر منبع (لینک سایت) بلامانع است. برای با خبر شدن از جدیدترین مطالب آموزشی جاوا عضو کانال تلگرام ما شوید.

برچسب‌هاآموزش برنامه نویسی »آموزش گرافیک در زبان برنامه نویسی جاوا »آموزش جاوا »کلاس JPopupMenu در جاواJPopupMenu در جاواJPopupMenuJPopupMenu in javaاجزای گرافیکی که جاواکلاس PopupMenuPopupMenuمنو پویا در جاواآموزش ساخت منوساخت JMenuItemJMenuItem in javaآموزش فارسی جاوا
دسترسی سریع

فهرست مطلب

۱فهرست جلسات آموزش گرافیک در جاوا۲جلسه اول | معرفی Swing در جاوا۳جلسه دوم | کلاس JButton در جاوا۴جلسه سوم | کلاس JLabel در جاوا۵جلسه چهارم | کلاس JTextField درجاوا۶جلسه پنجم | کلاس JTextArea در جاوا۷جلسه ششم | کلاس JPasswordField در جاوا۸جلسه هفتم | کلاس JCheckBox در جاوا۹جلسه هشتم | کلاس JRadioButton در جاوا۱۰جلسه نهم | کلاس JComboBox در جاوا۱۱جلسه دهم | کلاس JTabel در جاوا۱۲جلسه یازدهم | کلاس JOptionPane در جاوا۱۳جلسه دوازدهم | ساخت منو گرافیکی در جاوا۱۴جلسه سیزدهم | کلاس JPopupMenu در جاوا۱۵جلسه چهاردهم | کلاس JSeparator در جاوا۱۶جلسه پانزدهم | کلاس JProgressBar در جاوا۱۷جلسه شانزدهم | کلاس JTree در جاوا۱۸جلسه هفدهم | کلاس JColorChooser۱۹جلسه هجدهم | کلاس JSlider در جاوا۲۰جلسه نوزدهم | کلاس JSpinner در جاوا۲۱جلسه بیستم | کلاس JPanel در جاوا۲۲جلسه بیست و یکم | کلاس JFileChooser در جاوا۲۳جلسه بیست و دوم | کلاس JLayeredPane در جاوا۲۴جلسه بیست و سوم | استفاده از ToolTip در جاوا۲۵جلسه بیست و چهارم |تغییر آیکون Frame در جاوا۲۶جلسه بیست و پنجم | کلاس Graphics در جاوا۲۷جلسه بیست و ششم | نمایش تصویر در Swing
ادامه مسیر

پیشنهاد جاواپرو

موضوع را با آموزش‌های مرتبط ادامه دهید و نکته‌های کاربردی را در مسیر خود نگه دارید

مشاهده دوره‌ها
مطالب پیشنهادی

ادامه مطالعه

xدسته‌بندی نشده
۱۱ دی ۱۳۹۸ مطالعه کوتاه

x

پادکست شماره 3 – راه های کسب درآمد از برنامه نویسی

مطالعه مطلب
پادکست شماره 3 - راه های کسب درآمد از برنامه نویسیپادکست
۲۹ اردیبهشت ۱۴۰۴ مطالعه کوتاه

پادکست شماره 3 - راه های کسب درآمد از برنامه نویسی

در این پادکست برنامه نویسی به شیوه ها و راه های کسب درآمد از برنامه نویسی پرداخته ایم. یک کاغذ و قلم بردارید و به پادکست گوش بدید.

مطالعه مطلب
پادکست شماره 2 - چگونه وارد فضای برنامه نویسی شویم؟پادکست
۲۹ اردیبهشت ۱۴۰۴ مطالعه کوتاه

پادکست شماره 2 - چگونه وارد فضای برنامه نویسی شویم؟

در این پادکست برنامه نویسی یاد میگیریم که چگونه وارد فضای برنامه نویسی شویم و تخصص برنامه نویسی را به دست آوریم.

مطالعه مطلب
جاواپرومرجع تخصصی یادگیری و توسعهٔ جاوا

تجربه‌ای منظم، ساده و حرفه‌ای برای یادگیری عمیق جاوا، Spring و مهندسی نرم‌افزار؛ قابل استفاده در موبایل، تبلت و دسکتاپ

یادگیری

همه دوره‌هاآموزش رایگانمسیر یادگیریمدرس‌ها

جاواپرو

درباره ماخدمات تخصصیدرخواست پروژهتدریس خصوصیبلاگ فنی

پشتیبانی

تماس با ماپرسش‌های متداولقوانین و حریم خصوصیبروزرسانی‌های جاواپروثبت تیکت
خرید امنپرداخت فقط در درگاه رسمیپشتیبانی آموزشیمسیر ارتباط شفاف و پیگیری‌پذیردسترسی پایداروب‌اپ واکنش‌گرا روی همه دستگاه‌ها
© ۱۴۰۵ جاواپرو؛ همه حقوق محفوظ استتوسعه توسط پایاپینگ
خانهدوره‌هاسبد