자바 JFC 구성 및 일반 클래스 활용 메뉴와 메뉴바

자바 JFC 구성 및 일반 클래스 활용 메뉴와 메뉴바


메뉴와 메뉴바
스윙과 AWT의 메뉴와 메뉴바는 차이가 별로 없다

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
75
76
77
78
79
80
81
82
83
84
85
86
87
import java.awt.*;
import javax.swing.*;

class Round22_Ex01_Sub extends JFrame {// JFrame을 상속받는다
private JMenuBar jmb = new JMenuBar();
private JMenu file = new JMenu("파일");
private JMenuItem fnew = new JMenuItem("새파일");
private ImageIcon im = new ImageIcon("bbb.gif");
private JMenuItem fopen = new JMenuItem(im);
private ImageIcon im1 = new ImageIcon("ccc.gif");
private JMenuItem fexit = new JMenuItem("종료", im1);
private JMenu edit = new JMenu("수정");
private JMenu esize = new JMenu("크기");
// 메뉴와 메뉴아이템을 생성한다 특이한건 image를 넣을수 있다
private JRadioButtonMenuItem es10 = new JRadioButtonMenuItem("10");
private JRadioButtonMenuItem es20 = new JRadioButtonMenuItem("20");
private JRadioButtonMenuItem es30 = new JRadioButtonMenuItem("30");
private ButtonGroup bg = new ButtonGroup();
// 버튼을 그룹화 하여 한가지만 눌리게 한다
private JMenu ecolor = new JMenu("색상");
private JCheckBoxMenuItem ecred = new JCheckBoxMenuItem("RED");
private JCheckBoxMenuItem ecgreen = new JCheckBoxMenuItem("GREEN");
private JCheckBoxMenuItem ecblue = new JCheckBoxMenuItem("BLUE");
// checkbox를 생성한다
private JMenu help = new JMenu("도움말");

public Round22_Ex01_Sub() {
super("제목");
this.init();
this.start();
im = new ImageIcon("title.gif");
this.setIconImage(im.getImage());
this.setSize(300, 200);
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension di = tk.getScreenSize();
Dimension di1 = this.getSize();
int xpos = ((int) di.getWidth() / 2 - (int) di1.getWidth() / 2);
int ypos = ((int) di.getHeight() / 2 - (int) di1.getHeight() / 2);
this.setLocation(xpos, ypos);
this.setVisible(true);
}

public void init() {
this.setJMenuBar(jmb);
fexit.setArmed(true);
file.add(fnew);
file.addSeparator();
file.add(fopen);
file.addSeparator();
file.add(fexit);
jmb.add(file);
// file의 item을 담은후에 this의 메뉴바에 담는다 .
edit.setBorder(new LineBorder(Color.red, 3));
esize.setBorder(new BevelBorder(BevelBorder.RAISED));
ecolor.setBorder(new BevelBorder(BevelBorder.RAISED));
bg.add(es10);
bg.add(es20);
bg.add(es30);
// Button을 그룹화 한다 .
esize.add(es10);
esize.add(es20);
esize.add(es30);
// 그룹화 한걸 esize에 담는다
edit.add(esize);
edit.addSeparator();
ecolor.add(ecred);
ecolor.add(ecgreen);
ecolor.add(ecblue);
// 메뉴바에 담는 과정이다 .
edit.add(ecolor);
jmb.add(edit);
jmb.add(help);
// 폼 구성 영역 (초기화 영역)
}

public void start() {
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Frame의 x버튼을 눌렀을 때의 Event
// 이벤트나 기타 액션의 영역
}
}

public class Round22_Ex01 {
public static void main(String[] ar) {
Round22_Ex01_Sub es = new Round22_Ex01_Sub();
}
}

Share