336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
창을 띄웠으니 메뉴도 넣어보겠습니다. Frame을 상속한 클래스에 MenuBar를 멤버변수로 선언합니다.
-- FormMain.java --
/* FormMain.java */ public class FormMain extends Frame { public static final long serialVersionUID = 0x9382942838495039L; /* 멤버로 MenuBar 선언 */ private MenuBar menuBar; public FormMain() { super(); this.setSize(800, 600); this.setVisible(true); this.addWindowListener(new FormMainWindowAdapter()); /* MenuBar 인스턴스 생성하고 */ this.menuBar = new MenuBar(); /* 창에서 이 인스턴스로 메뉴 막대로 쓸 것임을 지정 */ this.setMenuBar(this.menuBar); } }
이렇게 작성하고 실행하면 결과는 전과 같이 빈 화면만 뜹니다. 여기에 메뉴를 넣어보겠습니다. [파일]-[편집]-[보기]-[도움말]의 기본적인 4가지를 삽입해볼까요
/* FormMain.java */ public class FormMain extends Frame { public static final long serialVersionUID = 0x9382942838495039L; private MenuBar menuBar; // 메뉴 막대 private Menu menuFile; // [파일(F)] 메뉴 private Menu menuEdit; // [편집(E)] 메뉴 private Menu menuView; // [보기(V)] 메뉴 private Menu menuHelp; // [도움말(H)] 메뉴 public FormMain() { super(); this.setSize(800, 600); this.setVisible(true); this.addWindowListener(new FormMainWindowAdapter()); this.menuBar = new MenuBar(); this.setMenuBar(this.menuBar); this.menuFile = new Menu("파일(F)"); this.menuBar.add(this.menuFile); this.menuEdit = new Menu("편집(E)"); this.menuBar.add(this.menuEdit); this.menuView = new Menu("보기(V)"); this.menuBar.add(this.menuView); this.menuHelp = new Menu("도움말(H)"); this.menuBar.add(this.menuHelp); } }
이렇게 하면 실제로 화면에 4가지 메뉴가 표시됨을 확인할 수 있습니다.
각 메뉴에 하위 항목을 추가해보겠습니다. 예를 들어 [파일(F)] 메뉴에는 [새로 만들기(N)...], [열기(O)...], [저장(S)], [다른 이름으로 저장(A)...], [(구분자)], [인쇄(P)...], [(구분자)], [닫기(C)], [종료(X)]의 하위 항목을 넣겠습니다.
/* FormMain.java */ package com.tapito.ui; import java.awt.*; public class FormMain extends Frame { public static final long serialVersionUID = 0x9382942838495039L; private MenuBar menuBar; private Menu menuFile; private Menu menuEdit; private Menu menuView; private Menu menuHelp; private MenuItem menuFileNew; // 새로 만들기 private MenuItem menuFileOpen; // 열기 private MenuItem menuFileSave; // 저장 private MenuItem menuFileSaveAs; // 다른 이름으로 저장 private MenuItem menuFilePrint; // 인쇄 private MenuItem menuFileClose; // 닫기 private MenuItem menuFileExit; // 종료 public FormMain() { super(); this.setSize(800, 600); this.setVisible(true); this.addWindowListener(new FormMainWindowAdapter()); this.menuBar = new MenuBar(); this.setMenuBar(this.menuBar); this.menuFile = new Menu("파일(F)"); this.menuBar.add(this.menuFile); this.menuEdit = new Menu("편집(E)"); this.menuBar.add(this.menuEdit); this.menuView = new Menu("보기(V)"); this.menuBar.add(this.menuView); this.menuHelp = new Menu("도움말(H)"); this.menuBar.add(this.menuHelp); this.menuFileNew = new MenuItem("새로 만들기(N)"); this.menuFile.add(this.menuFileNew); this.menuFileOpen = new MenuItem("열기(O)..."); this.menuFile.add(this.menuFileOpen); this.menuFileSave = new MenuItem("저장(S)"); this.menuFile.add(this.menuFileSave); this.menuFileSaveAs = new MenuItem("다른 이름으로 저장(A)..."); this.menuFile.add(this.menuFileSaveAs); this.menuFile.addSeparator(); // 구분자 this.menuFilePrint = new MenuItem("인쇄(P)"); this.menuFile.add(this.menuFilePrint); this.menuFile.addSeparator(); // 구분자 this.menuFileClose = new MenuItem("닫기(C)"); this.menuFile.add(this.menuFileClose); this.menuFileExit = new MenuItem("종료(X)"); this.menuFile.add(this.menuFileExit); } }
실행 결과는
'Programming Language > Java' 카테고리의 다른 글
자바 프로그램에서 각종 내부 설정 관리 방법 (0) | 2018.03.11 |
---|---|
Java의 XML 읽기/쓰기 (DOM 버전) (0) | 2015.01.06 |
Java AWT로 창 닫기 구현하기 (1) | 2014.09.07 |
Java AWT로 빈 프레임 띄우기 (0) | 2014.09.07 |
자바로 소켓 사용하는 예 (4) | 2014.09.03 |