Programming/Java

자바 입-출력과 폼 2 (메뉴바)

keiruX 2008. 2. 28. 13:58
  1. import java.awt.*;
  2. public class Round17{
     public static void main(String[] ar) {
      Round17_Sub round = new Round17_Sub();
     }
    }
  3. class Round17_Sub extends Frame{
     private Dimension dimen, dimen1;
     private int xpos, ypos;
  4.  //메뉴바 기본
     private MenuBar mb = new MenuBar();
     private Menu file = new Menu("파일");
     private Menu edit = new Menu("편집");
     private Menu view = new Menu("보기");
     private Menu help = new Menu("도움말");
  5.  //MenuItem
     private MenuItem fnew = new MenuItem("새 파일");
     private MenuItem fopen = new MenuItem("열기");
     private MenuItem fsave = new MenuItem("저장");
     private MenuItem fsaveas = new MenuItem("다른 이름으로 저장");
     private MenuItem fexit = new MenuItem("종료");
     private MenuItem esearch = new MenuItem("찾기");
     private MenuItem echange = new MenuItem("바꾸기");
     private MenuItem emove = new MenuItem("이동");
     private Menu vmo = new Menu("모양"); // Menu에는 Menu도 추가할 수 있다.
     private MenuItem vmbasic = new MenuItem("기본 모양");
     private MenuItem vmweb = new MenuItem("웹 모양");
     private MenuItem vmprint = new MenuItem("인쇄 모양");
     private Menu vtool = new Menu("도구 모임");
     private MenuItem hver = new MenuItem("버전 정보");
  6. //체크 표시
     private CheckboxMenuItem vtcustom = new CheckboxMenuItem("표준", true);
     private CheckboxMenuItem vtform = new CheckboxMenuItem("서식", true);
     private CheckboxMenuItem vtexam = new CheckboxMenuItem("검토", false);

  7. public Round17_Sub(){
      super("메뉴 만들기");
      this.init();
      this.start();
      this.setSize(300, 200);
      dimen = Toolkit.getDefaultToolkit().getScreenSize();
      dimen1 = this.getSize();
     
      xpos = (int)(dimen.getWidth() / 2 - dimen1.getWidth() / 2);
      ypos = (int)(dimen.getHeight() / 2 - dimen1.getHeight() / 2);
     
      this.setLocation(xpos, ypos);
      this.setVisible(true);
     }

  8.  public void init(){
      this.setMenuBar(mb);

  9.   //MenuItem
      file.add(fnew);
      file.addSeparator();
      file.add(fopen);
      file.add(fsave);
      fsaveas.setEnabled(false); // '다른 이름으로 저장'을 비활성화시킨다.
      file.add(fsaveas);
      file.addSeparator();
      file.add(fexit);
      edit.add(esearch);
      edit.add(echange);
      edit.add(emove);
      view.add(vmo);
      vmo.add(vmbasic); //vmo 에 MenuItem 추가
      vmo.add(vmweb);
      vmo.add(vmprint);
      view.add(vtool); //"보기" 메뉴에는 vmo 와 vtool의 Menu를 추가한다.
      
  10. //check
      vtool.add(vtcustom);
      vtool.add(vtform);
      vtool.add(vtexam);
      //check

  11.   help.add(hver);
  12.   //메뉴 순서대로 놓는다. 순서 중요
      mb.add(file);
      mb.add(edit);
      mb.add(view);
      mb.add(help);
     }
     
     public void start(){
  13.  }
    }


* 출력화면

이 글은 스프링노트에서 작성되었습니다.