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 |