آموزش JPopupMenu در جاوا
سلام دوستان در این سری از آموزش برنامه نویسی جاوا به آموزش JPopupMenu در جاوا می پردازیم از JPopupMenu به منظور ساخت یک popup در موقعیت خاصی از صفحه می توان استفاده کرد این شئی از کلاس های Swing گسترش پیدا کرده است در ادامه با ما همراه باشید تا نحوه استفاده از JPopupMenu در جاوا را یاد گیرید.
در بالا موارد استفاده از JPopupMenu را کمی بررسی کردیم و گفتیم که از JPopupMenu می توان برای نمایش یک پیام یا popup در موقعیت خاصی از صفحه بهره برد در ادامه متد های سازنده یا Constructor های آن را بررسی می کنیم.
JPopupMenu دو متد سازنده دارد که عبارتند از :
- JPopupMenu() : یک شئی خالی از JPopupMenu ایجاد می کند که دارای invoker نیست.
- JPopupMenu(String label : یک شئ همراه با lablel ایجاد می کند.
در ادامه به یک مثال ساده و کاربردی از JPopupMenu خواهیم پرداخت با ما همراه باشید.
یک کلاس به نام PopupMenuExample ایجاد کرده و کدهای زیر را در آن قرار دهید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | 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(); }} |
خروجی کد بالا همانند زیر خواهد بود.
برای اینکه متوحه شویم موس برای اون کلیک شده است یا نه باید برای آن یک Listener تعریف کنیم که می توانیم از MouseListener استفاده کنیم.
به مثال بعدی توجه کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | 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(); } } |
خروجی کد بالا همانند زیر خواهد بود.
این آموزش هم به پایان رسید.
موفق باشید.