자바 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
74import 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 처리할 부분
}
}