PopupMenu — 팝업 메뉴

PopupMenu — 팝업 메뉴

PopupMenu는 컴포넌트 내 지정된 위치에서 동적으로 팝업될 수 있는 메뉴를 구현하는 클래스예요. 상속 계층이 의미하듯, PopupMenuMenu를 사용할 수 있는 모든 곳에 사용할 수 있어요.

출처: Java API Reference

본문

public class PopupMenu extends Menu

다만 PopupMenuMenu처럼 사용하면(예: MenuBar에 추가) 그 PopupMenu에 대해 show를 호출할 수 없어요. 팝업 메뉴는 컴포넌트에 부착하고 show 메서드로 특정 위치에서 띄우는 용도로 만든 것이에요.

생성자

  • PopupMenu() — 빈 이름의 새 팝업 메뉴를 만들어요.
  • PopupMenu(String label) — 지정한 이름의 새 팝업 메뉴를 만들어요.

헤드리스 환경에서는 HeadlessException을 던져요.

주요 메서드

  • show(Component origin, int x, int y) — 컴포넌트의 좌표 공간에서 (x, y) 위치에 팝업 메뉴를 표시해요.
  • addNotify() — 팝업 메뉴의 피어를 만들어요.

사용 예제

PopupMenu popup = new PopupMenu("Edit");
popup.add(new MenuItem("Cut"));
popup.add(new MenuItem("Copy"));

someComponent.add(popup);
someComponent.addMouseListener(new MouseAdapter() {
    public void mousePressed(MouseEvent e) {
        if (e.isPopupTrigger()) {
            popup.show(e.getComponent(), e.getX(), e.getY());
        }
    }
});

더 알아보기