Workshop 2-2
메모장처럼 메뉴 만들기
맥의 경우는 윈도우와는 다르게 프레임쪽에 메뉴들이 집합되어 있다.
코드는 같은데 외부모습이 이렇게 다르다니 너무나도 재미있다!
이제 메뉴들을 추가해보자.
private Label lbl_name;
private Label lbl_addr;
private Label lbl_phone;
private TextField txt_name;
private TextField txt_addr;
private TextField txt_phone;
private Button btok;
private TextArea tar_res;
//메뉴
MenuItem item_new;
MenuItem item_new2;
MenuItem item_new3;
MenuItem item_edit;
MenuItem item_edit2;
MenuItem item_edit3;
MenuItem item_edit4;
Menu m_file;
Menu o_file;
Menu f_file;
Menu s_file;
Menu w_file;
Menu h_file;
MenuBar mb;
기존에 멤버변수를 작성한 곳 밑에 작성해 준다.
MenuItem = 메뉴를 눌렀을 때 펼쳐지는 추가 메뉴들을 말한다.
Menu m = 파일
Menu o = 옵션
Menu f = 포맷
Menu s = 보기
Menu w = 윈도우
Menu h = 도움말
Menu는 각각 이니셜로 변수들을 설정하였다.
MenuBar = 말 그대로 메뉴바를 뜻한다.
private Address address;
public MyAddress() {
super("프레임의 이름");
//menu
item_new = new MenuItem("새로 만들기");
item_new2 = new MenuItem("열기");
item_new3 = new MenuItem("최근 사용 열기");
item_edit = new MenuItem("입력 실행 취소");
item_edit2 = new MenuItem("오려두기");
item_edit3 = new MenuItem("복사하기");
item_edit4 = new MenuItem("붙여넣기");
m_file = new Menu("파일");
o_file = new Menu("편집");
f_file = new Menu("포맷");
s_file = new Menu("보기");
w_file = new Menu("윈도우");
h_file = new Menu("도움말");
mb = new MenuBar();
btok = new Button("OK");
lbl_name = new Label("이름");
lbl_addr = new Label("주소");
lbl_phone = new Label("전화번호");
txt_name = new TextField();
txt_addr = new TextField();
txt_phone = new TextField();
tar_res = new TextArea();
address = new Address();
그리고 MyAddress디폴트 생성자에 각자의 역할에 맞게 이름들을 넣어주었다.
public void gui_main() {
//메뉴
m_file.add(item_new);
m_file.add(item_new2);
m_file.add(item_new3);
o_file.add(item_edit);
o_file.add(item_edit2);
o_file.add(item_edit3);
o_file.add(item_edit4);
mb.add(m_file);
mb.add(o_file);
mb.add(f_file);
mb.add(s_file);
mb.add(w_file);
mb.add(h_file);
setMenuBar(mb);
lbl_name.setBounds(100, 100, 100, 50);
lbl_addr.setBounds(100, 150, 100, 50);
lbl_phone.setBounds(100, 200, 100, 50);
txt_name.setBounds(250, 100, 200, 50);
txt_addr.setBounds(250, 150, 200, 50);
txt_phone.setBounds(250, 200, 200, 50);
btok.setBounds(500, 200, 50, 50);
tar_res.setBounds(20, 300, 550, 300);
btok.addActionListener(new M_Event());
addWindowListener(new M_Event());
add(btok);
add(lbl_name);
add(lbl_addr);
add(lbl_phone);
add(txt_name);
add(txt_addr);
add(txt_phone);
add(tar_res);
setLayout(null);
setSize(new Dimension(600, 600));
setFont(new Font("굴림", Font.BOLD, 20));
setVisible(true);
}
마찬가지로 gui 디폴트 생성자안에도 넣어준다.
결과
왼쪽 부터 보면 클래스명이 나오는 걸 볼수있다.
그리고 추가해 줬던 메뉴들과 아이템들이 나오는걸 볼수있다.
Author And Source
이 문제에 관하여(Workshop 2-2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jahommer/Workshop-2.5저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)