Workshop 2-2

Jaho·2021년 8월 4일
0

Workshop

목록 보기
3/3
post-thumbnail

메모장처럼 메뉴 만들기


맥의 경우는 윈도우와는 다르게 프레임쪽에 메뉴들이 집합되어 있다.
코드는 같은데 외부모습이 이렇게 다르다니 너무나도 재미있다!

이제 메뉴들을 추가해보자.

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 디폴트 생성자안에도 넣어준다.

결과

왼쪽 부터 보면 클래스명이 나오는 걸 볼수있다.
그리고 추가해 줬던 메뉴들과 아이템들이 나오는걸 볼수있다.

profile
개발 옹알이 부터

0개의 댓글