|
Menu 컴포넌트의 구성요소를 정리해 보았습니다.
구성요소 | 기능 |
MenuBar() | 메뉴바 메모리에 생성 |
Menu add(menu) | 메뉴바에 매개인자로 주어진 메뉴의 제일 뒤에 배치 |
void remove(int) | 메뉴바에 배치된 메뉴의 순서에 다라 주어지는 인덱스를 매개인자로 하여 해당 메뉴를 삭제 |
Menu(String) | 매개인자로 주어진 문자열을 표식으로 새로운 메뉴를 메모리에 생성 |
MenuItem add(MenuItem) | 해당 메뉴아이템을 메뉴의 제일 뒤에 배치 |
void remove(int) | 메뉴에 배치된 메뉴아이템의 순서에 따라 주어진 인덱스를 매개인자로 하여 해당 메뉴아이템을 삭제 |
void insert(menu, int) | 메뉴에 배치된 메뉴아이템의 순석에 다라 주어지는 인덱스를 매개인자로 하여 해당 위치에 새로운 메뉴아이템 삽입 |
static void addSeparator() | 메뉴 분리자 삽입 |
MenuItem(String) | 매개인자로 주어진 문자열을 표식으로 새로운 메뉴아이템을 메뉴에 생성 |
void setShortcut (MenuShortcut) | 해당 메뉴아이템의 단축키 설정 |
void setEnabled(boolean) | 해당 메뉴아이템의 활성 및 비활성화 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | import java.awt.*; class Exam extends Frame { Label lbl; MenuBar mbar; Menu mbarFile,mbarEdit,mbarHelp; Frame f; MenuItem mbarNew,mbarOpen,mbarSave,mbarExit; Exam() { f = new Frame(); f.setSize(300, 150); lbl = new Label(); mbar = new MenuBar(); mbarFile = new Menu("파일"); mbarEdit = new Menu("설정"); mbarHelp = new Menu("도움말"); mbarNew=new MenuItem("새로 만들기"); mbarOpen=new MenuItem("열기"); mbarSave=new MenuItem("저장"); mbarExit=new MenuItem("종료"); mbar.add(mbarFile); mbar.add(mbarEdit); mbar.add(mbarHelp); mbarFile.add(mbarNew); mbarFile.addSeparator(); mbarFile.add(mbarOpen); mbarFile.add(mbarSave); mbarFile.add(mbarExit); lbl.setText("메뉴를 만들어 봅세~"); lbl.setBounds(10,80,150,20); f.setMenuBar(mbar); f.setLayout(null); f.add(lbl); f.setVisible(true); } public static void main(String[] args) { Exam run = new Exam(); } } |
|
AWT이벤트 처리를 익히신 뒤에 살펴보시면 됩니다.
위의 내용과 별 다를건 없습니다.
바뀐 내용은 패키지 사용과 이벤트 리스너 사용 shorKey를 설정해 주었을 뿐입니다.
참 쉽죠?
Exam.java
1 2 3 4 5 6 7 8 9 10 11 12 | package test; import java.awt.*; import java.awt.event.*; class Exam extends Frame { public static void main(String[] args) { ClassFrame classFrame = new ClassFrame(); } } |
ClassFrame.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | package test; import java.awt.*; import java.awt.event.*; public class ClassFrame extends Frame { Frame f; Label lbl; MenuBar mbar; Menu mbarFile,mbarEdit,mbarHelp; MenuItem mbarNew,mbarOpen,mbarSave,mbarExit; public ClassFrame() { this.createComponents(); this.connectEvent(); } public void createComponents() { f = new Frame(); f.setSize(300, 150); lbl = new Label(); mbar = new MenuBar(); mbarFile = new Menu("파일"); mbarEdit = new Menu("설정"); mbarHelp = new Menu("도움말"); mbarNew=new MenuItem("새로 만들기"); mbarOpen=new MenuItem("열기"); mbarSave=new MenuItem("저장"); mbarExit=new MenuItem("종료"); mbar.add(mbarFile); mbar.add(mbarEdit); mbar.add(mbarHelp); mbarFile.add(mbarNew); mbarFile.addSeparator(); mbarFile.add(mbarOpen); mbarFile.add(mbarSave); mbarFile.add(mbarExit); lbl.setText("메뉴를 만들어 봅세~"); lbl.setBounds(10,80,150,20); f.setMenuBar(mbar); f.setLayout(null); f.add(lbl); f.setVisible(true); MenuShortcut ms = new MenuShortcut(KeyEvent.getExtendedKeyCodeForChar('N'), false); mbarNew.setShortcut(ms); } public void connectEvent() { ClassListener ls = new ClassListener(this); mbarNew.addActionListener(ls); mbarOpen.addActionListener(ls); mbarSave.addActionListener(ls); mbarExit.addActionListener(ls); } } |
ClassListener.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | package test; import java.awt.*; import java.awt.event.*; public class ClassListener implements ActionListener { ClassFrame classFrame; public ClassListener(ClassFrame classFrame) { this.classFrame = classFrame; } public void actionPerformed(ActionEvent e) { MenuItem menuItem = (MenuItem)e.getSource(); if(menuItem.getLabel().equals("새로 만들기")) { System.out.println("결과는 요로콤나옴"); } if(menuItem.getLabel().equals("열기")) { System.out.println("이것은 열기"); } if(menuItem.getLabel().equals("저장")) { System.out.println("이것은 저장"); } if(classFrame.mbarEdit.equals("종료")) { System.out.println("요거는 종료"); } } } |
'컴퓨터프로그래밍 > JAVA' 카테고리의 다른 글
Java - String 관련 내용 (0) | 2016.06.25 |
---|---|
Java - awt - TextArea (0) | 2016.06.21 |
Java-awt-List (0) | 2016.06.20 |
Java-awt-Choice (0) | 2016.06.20 |
Java-awt-CheckBox (0) | 2016.06.20 |