자바 AWT 컴포넌트 PopupMenu 클래스

자바 AWT 컴포넌트 PopupMenu 클래스


java.awt.PopupMenu 클래스


생성자 ( Constructs)
Construct 내용
PopupMenu() 기본 PopupMenu컴포넌트 객체생성
PopupMenu(String label) label이라는 이름을 가진 PopupMenu생성

메서드(Methods)
Method 내용
void show(Component c, int x, int y) c라는 컴포넌트 위의 x, y위치에 PopupMenu를 보여주기

ex )

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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
import java.awt.*;

public class Round17_Ex02 {
public static void main(String[] ar) {
Round17_Ex02_Sub round = new Round17_Ex02_Sub();
}
}

class Round17_Ex02_Sub extends Frame {
private Dimension dimen, dimen1;
private int xpos, ypos;
private TextArea ta = new TextArea("5초후 나타난다. ");
private PopupMenu pm = new PopupMenu("My Popup");
// PopupMenu객체를 선언한다 .
private MenuItem copy = new MenuItem("복사");
private MenuItem cut = new MenuItem("잘라내기");
private MenuItem paste = new MenuItem("붙여넣기");
private Menu align = new Menu("정렬");
private CheckboxMenuItem asize = new CheckboxMenuItem("크기순", false);
private CheckboxMenuItem aname = new CheckboxMenuItem("이름순", false);
private CheckboxMenuItem aauto = new CheckboxMenuItem("자동정렬", true);

public Round17_Ex02_Sub() {
super("제목넣기");
// Frame을 상속받았기 때문에 super로 상위 상속자 호출
this.init();
this.start();
this.setSize(300, 200);
// Frame을 상속받아 this의 메소드 호출한다 가로300, 세로 200의 Frame세팅
dimen = Toolkit.getDefaultToolkit().getScreenSize();
// 화면의 스크린 가로/세로 스크린 사이즈를 가져온다
dimen1 = this.getSize();
// Frame의 가로/세로 스크린 사이즈를 가져온다
xpos = (int) (dimen.getWidth() / 2 - dimen1.getWidth() / 2);
// 정중앙의 x값을 구한다 화면의 가로 사이즈를 2로 나눈값과 Frame의 가로 사이즈를 2로
// 나눈값을 뺀다 그럼 정중앙의 x값을 구한다
ypos = (int) (dimen.getHeight() / 2 - dimen1.getHeight() / 2);
// 정중앙의 y값을 구한다 화면의 세로 사이즈를 2로 나눈값과 Frame의 세로 사이즈를 2로
// 나눈값을 뺀다 그럼 정중앙의 y값을 구한다
this.setLocation(xpos, ypos);
// Frame의 띄울 위치를 x값과 y값으로 띄울 위치를 설정한다.
this.setVisible(true);
// 화면에 보이게 한다
try {
Thread.sleep(5000);
} catch (InterruptedException ee) {
}
pm.show(ta, 50, 0);
// 5초후에 PopupMenu를 show(보여준다)
}

public void init() {
// 화면 구성 넣을 부분
BorderLayout border = new BorderLayout();
this.setLayout(border);
this.add("Center", ta);
pm.add(copy);
pm.add(cut);
pm.add(paste);
pm.addSeparator();
align.add(asize);
align.add(aname);
align.addSeparator();
align.add(aauto);
pm.add(aligh);
// PopupMenu를 add시킨다 Panel처럼 add시킨후에
ta.add(pm);
// PopupMenu를 ta에 add시킨다 .
}

public void start() {
// Event나 Thread 처리할 부분
}
}

Share