Java/Awt_Swing
AWT Popup Menu Action Event 처리
krvision
2011. 12. 1. 17:31
import java.awt.*; import java.awt.event.*; public class PopMenu extends Frame { PopupMenu pmn; MenuItem miOpen, miClose; public PopMenu() { super("::PopMenu::"); pmn=new PopupMenu(); add(pmn); //팝업메뉴는 반드시 add()해줘야 한다 pmn.add(miOpen=new MenuItem("열기")); pmn.addSeparator(); pmn.add(miClose=new MenuItem("닫기")); MyHandler my = new MyHandler(); //Frame에 마우스리스너 부착--- addMouseListener(my); }////생성자----------- class MyHandler implements MouseListener { public void mouseClicked(MouseEvent e) { //x좌표, y좌표 타이틀에 올리기 Point p = e.getPoint(); // int x = p.x; int y= p.y; int x = e.getX(); int y = e.getY(); setTitle("x:" + x +"y:"+y); System.out.println(e.getButton()); //if(e.getButton()==3) if(e.getButton()==MouseEvent.BUTTON3) { //오른쪽 번튼이 눌렸을때만 pmn.show(PopMenu.this,x,y); //show(Component origin, int x, int y) //팝업메뉴의 show()메소드를 호출해야 모양을 확인할 수 있다. } } public void mouseEntered(MouseEvent e) { // setBackground(Color.pink); } public void mouseExited(MouseEvent e) { // setBackground(Color.white); } public void mousePressed(MouseEvent e) { // setBackground(Color.yellow); } public void mouseReleased(MouseEvent e) { // setBackground(Color.cyan); } }////////////////////////// public static void main(String[] args) { PopMenu pm=new PopMenu(); pm.setSize(500,500); pm.setVisible(true); } }