Java Popup Menu (JPopupMenu) - Swing Example |
Java Popup Menu (JPopupMenu) - Swing Example สำหรับ Popup Menu หรือ JPopupMenu (javax.swing.JPopupMenu) จัดอยู่ในกลุ่มของ Swing Menu ใช้สำหรับสร้าง Menu Item แบบ Popup คล้าย ๆ กับการคลิกขวาที่ Folder แล้วมี Menu ต่าง ๆ ที่อยู่บน Windows OS หรือ OS อื่น ๆ โดยการสร้าง JPopupMenu ก็เหมือนกับการสร้าง Menu Item แบบปกติ เพียงแต่เปลี่ยนจาก JMenu มาเป็น JPopupMenu ส่วนรายละเอียดการสร้างพวก Icon Image หรือ Event Handler ก็เหมือนกันทุกประการ
Java Popup Menu (JPopupMenu) - Swing Example
Syntax
// Popup Menu
JPopupMenu popMenu = new JPopupMenu();
JMenuItem menuItem1 = new JMenuItem("Menu 1");
JMenuItem menuItem2 = new JMenuItem("Menu 2");
JMenuItem menuItem3 = new JMenuItem("Menu 3");
popMenu.add(menuItem1);
popMenu.add(menuItem2);
popMenu.add(menuItem3);
Controls Icon Tools
Example 1 ตัวอย่างการสร้าง Menu Item แบบ Popup Menu ด้วย JPopupMenu แบบง่าย ๆ
MyForm.java
package com.java.myapp;
import java.awt.EventQueue;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import javax.swing.JButton;
public class MyForm extends JFrame {
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
MyForm frame = new MyForm();
frame.setVisible(true);
}
});
}
/**
* Create the frame.
*/
public MyForm() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 362, 249);
setTitle("ThaiCreate.Com Java GUI Tutorial");
getContentPane().setLayout(null);
// Popup Menu
final JPopupMenu popMenu = new JPopupMenu();
JMenuItem menuItem1 = new JMenuItem("Menu 1");
JMenuItem menuItem2 = new JMenuItem("Menu 2");
JMenuItem menuItem3 = new JMenuItem("Menu 3");
popMenu.add(menuItem1);
popMenu.add(menuItem2);
popMenu.add(menuItem3);
// Button Open
JButton btnOpenMenu = new JButton("Open Menu");
btnOpenMenu.setBounds(122, 71, 109, 23);
btnOpenMenu.setAlignmentX(RIGHT_ALIGNMENT);
btnOpenMenu.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
popMenu.show(e.getComponent(), e.getX(), e.getY());
}
});
getContentPane().add(btnOpenMenu);
}
}
Output
คลิกที่ Button จะแสดง Menu Item แบบ Popup Menu
Example 2 การสร้าง Menu Item แบบ Popup Menu ด้วยการคลิกขวาที่ Frame หรือ Form
Syntax
this.addMouseListener(new MouseAdapter() {
@Override
public void mouseReleased(MouseEvent e) {
popMenu.show(e.getComponent(), e.getX(), e.getY());
}
});
MyForm.java
package com.java.myapp;
import java.awt.EventQueue;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
public class MyForm extends JFrame {
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
MyForm frame = new MyForm();
frame.setVisible(true);
}
});
}
/**
* Create the frame.
*/
public MyForm() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 362, 249);
setTitle("ThaiCreate.Com Java GUI Tutorial");
getContentPane().setLayout(null);
// Popup Menu
final JPopupMenu popMenu = new JPopupMenu();
JMenuItem menuItem1 = new JMenuItem("Menu 1");
JMenuItem menuItem2 = new JMenuItem("Menu 2");
JMenuItem menuItem3 = new JMenuItem("Menu 3");
popMenu.add(menuItem1);
popMenu.add(menuItem2);
popMenu.add(menuItem3);
// Mouse Click
this.addMouseListener(new MouseAdapter() {
@Override
public void mouseReleased(MouseEvent e) {
popMenu.show(e.getComponent(), e.getX(), e.getY());
}
});
}
}
Output
คลิกขวาที่ Frame หรือ Form จะแสดง Menu Item แบบ Popup Menu
แนะนำให้อ่านบทความนี้เพิ่มเติม เกี่ยวกับการสร้าง JMenu และการใช้งาน jMenu
Property & Method (Others Related) |
|
ช่วยกันสนับสนุนรักษาเว็บไซต์ความรู้แห่งนี้ไว้ด้วยการสนับสนุน Source Code 2.0 ของทีมงานไทยครีเอท
|
|
|
By : |
ThaiCreate.Com Team (บทความเป็นลิขสิทธิ์ของเว็บไทยครีเอทห้ามนำเผยแพร่ ณ เว็บไซต์อื่น ๆ) |
|
Score Rating : |
|
|
|
Create/Update Date : |
2013-09-05 08:52:19 /
2017-03-27 21:12:00 |
|
Download : |
No files |
|
Sponsored Links / Related |
|
|
|
|
|
|
|