14.  기타  gui components

33
14. 14. 기기 기기 GUI Components GUI Components

Upload: maureen-cashman

Post on 02-Jan-2016

50 views

Category:

Documents


3 download

DESCRIPTION

14.  기타  GUI Components. 14. 기타  GUI Components. 14.1 Window  클래스와  Frame  클래스 14.1.1 Window  클래스 ( 추상 클래스 ) 윈도우 클래스 생성자 ① public Window(Frame parent ) 지원되는 메소드 ① public synchronized void pack() 윈도우 안의 컴포넌트들을 선호하는 크기로 재배치한다 . ② public void show() - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 14.  기타  GUI Components

14. 14.  기타 기타  GUI ComponentsGUI Components

Page 2: 14.  기타  GUI Components

14. 14. 기타 기타  GUI ComponentsGUI Components14.1 Window  클래스와  Frame  클래스 14.1.1 Window  클래스 (추상 클래스 ) 

  윈도우 클래스 생성자       ① public Window(Frame parent)     지원되는 메소드       ① public synchronized void pack()            윈도우 안의 컴포넌트들을 선호하는 크기로 재배치한다 .       ② public void show()            생성된 윈도우를 보여주는 메소드이다 .       ③ public synchronized void dispose()            윈도우와 그 내용을 제거한다 .       ④ public void toBack()            이 메소드를 호출한 윈도우 뒤에 부모 윈도우를 위치시킨다 . 

Page 3: 14.  기타  GUI Components

14. 14. 기타 기타  GUI ComponentsGUI Components14.1.2 Frame  클래스     - Frame은  Window  클래스의 하위 클래스 

  생성자 ① public Frame()     BoderLayout  관리자를 사용하는                                     프레임 객체를 생성한다 .② public Frame(String title)   BoderLayout  관리자를 사용하고 ,               프레임의 타이틀을 명시한 프레임 객체를 생성한다 .    지원되는 메소드 ① public String getTitle()   프레임의 타이틀 값을 반환한다 .② public void setTitle(String title)  프레임의 타이틀 값을 설정한다 . ③ public void setIconImage(Image image)     프레임이 아이콘으로 변경되었을 때 사용할 이미지를 설정한다 . ④ public MenuBar getMenuBar()              프레임안에 포함된  MenuBar 객체를 반환 . ⑤ public synchronized void setMenuBar(MenuBar mb)             프레임안에 디스플레이될  MenuBar 를 설정한다 . ⑥ public synchronized void remove(MenuComponent m)             프레임안에서 원하는 메뉴 컴포넌트를 제거한다 . 

Page 4: 14.  기타  GUI Components

14. 14. 기타 기타  GUI ComponentsGUI Components[Frame  객체 예제 프로그램 ] import java.applet.*; import java.awt.*; import java.awt.event.*; public class FrameDemo extends Applet implements                                               ActionListener {   public void init() {     Button b1 = new Button("Create New Frame");     b1.addActionListener(this);     add(b1);  //  애플릿에 프레임 추가   }  public void actionPerformed(ActionEvent ae) {       MyFrame my = new MyFrame("My Frame");     my.setSize(160, 120);             //  프레임 크기 설정     my.show();   } } class MyFrame extends Frame {     static int i = 1; 

Page 5: 14.  기타  GUI Components

14. 14. 기타 기타  GUI ComponentsGUI Components[Frame  객체 예제 프로그램 ]     MyFrame(String title) {       super(title);       addWindowListener(new WindowAdapter()        {           public void windowClosing(WindowEvent we) {                //  윈도우 종료 루틴 설정               setVisible(false);                 dispose();               System.exit(0);           }       });       Label la = new Label(" New Frame: #" + (i++));       add(la);     }   } 

Page 6: 14.  기타  GUI Components

14. 14. 기타 기타  GUI ComponentsGUI Components14.1.3 메뉴  (menu)

  메뉴 프로그래밍 과정      ① Frame  객체와  MenuBar  객체를 생성한다 .      ② MenuBar  객체를  setMenuBar()  메소드를 사용 프레임에 추가      ③ Menu  객체를 생성한다 .             add()  메소드를 이용하여  MenuBar 에  Menu  객체를 추가      ④ MenuItem  또는  CheckboxMenuItem  객체를 생성      ⑤ add()  메소드를 이용하여 생성된  MenuItem을 추가            ⑥  M

enuItem에 적절한  Listener 를 등록한 후 이벤트 처리 루틴을               작성 

메뉴바 , 메뉴 , 메뉴아이템

Page 7: 14.  기타  GUI Components

14. 14. 기타 기타  GUI ComponentsGUI Components14.1.3 메뉴  (menu)   메뉴바 클래스      메뉴바는 수평 막대기 모양으로 메뉴가 들어갈 터를 잡아주는 컴포넌     트이다 .  일반적으로 프레임 윈도우의 상단에 위치한다 .  프로그램에서      사용하고자 하는 모든 메뉴들은 메뉴바 안에 위치하여야 한다 .      메뉴바의 생성자의 형식은 다음과 같다 .               public MenuBar() 

메뉴바에 메뉴를 추가 /삭제하는데 사용되는 메소드는 다음과 같다 .       ① public synchronized Menu add(Menu m)            메뉴바에 메뉴를 추가한다 .       ② public synchronized void remove(int index)            인덱스를 사용하여 메뉴바에서 메뉴를 삭제한다 .       ③ public synchronized void remove (MenuComponent m)            원하는 메뉴 컴포넌트를 삭제한다 .       ④ public int getMenuCount()            메뉴바에 포함된 메뉴의 수를 반환한다 .       ⑤ public Menu getMenu(int index)            특정 위치의 메뉴를 반환한다 . 

Page 8: 14.  기타  GUI Components

14. 14. 기타 기타  GUI ComponentsGUI Components14.1.3 메뉴  (menu) 메뉴       메뉴바 위에 보이는 레이블이 바로 메뉴 객체이며 ,  메뉴 객체는    add()  메소드를 통해서 메뉴 바에 포함될 수 있다 .   마우스로      MenuBar  위의 메뉴를 클릭하면 ,   메뉴 아이템이 메뉴 밑으로     디스플레이 된다 .  메뉴 객체의 생성자를 정리하면 다음과 같다 . 

① public Menu()         가장 기본적인 메뉴를 생성한다 .      ② public Menu(String label)         원하는 레이블을 가진 메뉴를 생성한다 .      ③ public Menu(String label, boolean tearOff)         메뉴에 들어갈 레이블및 메뉴를 떼어놓을 것인지를 지정할            수 있다 .  tearOff  값이  true  이면  tear-off  메뉴가 된다 .

Page 9: 14.  기타  GUI Components

14. 14. 기타 기타  GUI ComponentsGUI Components14.1.3 메뉴  (menu)

메뉴 객체에서 지원되는 메소드는 다음과 같다 . ① public synchronized MenuItem add(MenuItem m)  메뉴에 원하는 메뉴 아이템 m을 추가한다 . ② public void add(String label)  메뉴에 원하는 메뉴 아이템을 추가한다 . ③ public synchronized void insert(MenuItem m, int index)  메뉴의 원하는 위치에 메뉴 아이템을 추가한다 . ④ public synchronized void insert(Sring label, int index)  메뉴의 원하는 위치에 메뉴 아이템을 추가한다 . ⑤ public synchronized void remove(int index)  메뉴에서 원하는 위치의 메뉴 아이템을 삭제한다 . ⑥ public synchronized void remove(MenuComponent item)  메뉴에서 원하는 메뉴 컴포넌트를 삭제한다 . ⑦ public synchronized void removeAll()  메뉴에 포함된 모든 메뉴 아이템을 삭제한다 . ⑧ public MenuItem getItem(int index)  메뉴에서 특정 위치에 있는 메뉴 아이템을 반환한다 . ⑨ public void addSeparator()  메뉴의 마지막 부분에 분리선을 추가한다 . 

Page 10: 14.  기타  GUI Components

14. 14. 기타 기타  GUI ComponentsGUI Components14.1.3 메뉴  (menu)

메뉴 아이템            MenuItem 는 메뉴 객체 안에 위치하며 ,  실제 사용자에 의해 

선택되는      항목이다 .  메뉴 아이템은 마우스를 통해서 선택되거나 키보드에 

의해      서 선택될 수 있다 .  이때 키보드의 값을 단축키라고 한다 .  메뉴 

아이템      은 다음과 같은 생성자를 가진다 .      ① public MenuItem()           기본적인 메뉴 아이템을 생성한다 .      ② public MenuItem(String label)           원하는 레이블을 가진 메뉴 아이템을 생성한다 .      ③ public MenuItem(String label, MenuShortcut s)           원하는 레이블과 단축키를 가진 메뉴 아이템을 생성한다 . 

Page 11: 14.  기타  GUI Components

14. 14. 기타 기타  GUI ComponentsGUI Components14.1.3 메뉴  (menu)

메뉴 아이템 클래스가 지원하는 메소드는 다음과 같다 . ① public synchronized void setLabel(String label)      메뉴 아이템의 레이블을 설정한다 . ② public String getLabel()      메뉴 아이템의 레이블을 반환한다 . ③ public synchronized void setEnabled(boolean b)      메뉴 아이템이 선택 가능 여부를 설정한다 .  인자의 값이  true 일 때 

      선택 가능하다 . ④ public void setShortcut(MenuShortcut s)      메뉴 아이템에 단축키를 설정한다 . ⑤ public void MenuShortcut getShortcut()      메뉴 아이템에 지정된 단축키를 반환한다 . ⑥ void addActionListener(ActionListener al)      메뉴 아이템의 액션 이벤트를 리스너에 등록한다 . 

Page 12: 14.  기타  GUI Components

14. 14. 기타 기타  GUI ComponentsGUI Components14.1.3 메뉴  (menu)

체크박스 메뉴 아이템     CheckboxMenuItem 은 메뉴에서 체크 박스를 사용할 수 있게 해준다 .

      마우스로 메뉴에 있는 체크박스를 클릭할 때마다   on-off  토글이 

발생     한다 .   체크 박스 메뉴 아이템은 메뉴 아이템에 체크 기능을 추가한        것이므로 ,   기본적인 사용 방법은 메뉴 아이템과 동일하다 .  

체크박스      메뉴 아이템 클래스의 생성자를 정리하면 다음과 같다 .      ① public CheckboxMenuItem()           기본적인 체크박스 메뉴 아이템을 생성한다 .      ② public CheckboxMenuItem(String label)           원하는 문자열을 가진 체크박스 메뉴 아이템을 생성한다 .      ③ public CheckboxMenuItem(String label, boolean state)           원하는 문자열 및 초기상태를 설정할 수 있는 생성자이다 . 

Page 13: 14.  기타  GUI Components

14. 14. 기타 기타  GUI ComponentsGUI Components14.1.3 메뉴  (menu)

체크박스 메뉴 아이템 클래스에서 지원되는 메소드는 다음과 같다 . ① public boolean getState()      체크 박스의  on/off  상태를 반환한다 . ② public synchronized void setState(boolean b)      체크 박스의 상태를 설정한다 . ③ void addItemListener(ItemListener l)      체크 박스 메뉴 아이템의 이벤트를 리스너에 등록한다 . 

Page 14: 14.  기타  GUI Components

14. 14. 기타 기타  GUI ComponentsGUI Components14.1.3 메뉴  (menu)

[ 예제 프로그램 ] import java.awt.*; import java.awt.event.*; public class MenuDemo extends java.applet.Applet {   MenuFrame f;   public void init() {     f= new MenuFrame("Menu Demo");     int width=Integer.parseInt(getParameter("width"));     int height=Integer.parseInt(getParameter("height"));     f.setSize(width, height);     f.setVisible(true);   }   public void start() {     f.setVisible(true);   }   public void stop() {     f.setVisible(false);   } } 

Page 15: 14.  기타  GUI Components

14. 14. 기타 기타  GUI ComponentsGUI Components14.1.3 메뉴  (menu)[ 예제 프로그램 ]   class MenuFrame extends Frame implements         ActionListener, ItemListener {    String msg = "";    CheckboxMenuItem cb1, cb2;    MenuFrame(String title) {       super(title);       MenuBar menubar = new MenuBar();       setMenuBar(menubar);       Menu file = new Menu("Document");       MenuItem item1, item2, item3, item4, item5;       file.add(item1= new MenuItem("new"));       file.add(item2= new MenuItem("open"));       file.add(item3= new MenuItem("read"));       file.add(item4= new MenuItem("-"));       file.add(item5= new MenuItem("end"));       Menu edit = new Menu("Edit");       MenuItem item6, item7, item8, item9, item10;       edit.add(item6 = new MenuItem("cut"));       edit.add(item7 = new MenuItem("paste"));       cb1 = new CheckboxMenuItem("sign 1");       cb2 = new CheckboxMenuItem("sign 2"); 

Page 16: 14.  기타  GUI Components

14. 14. 기타 기타  GUI ComponentsGUI Components14.1.3 메뉴  (menu)[ 예제 프로그램 ]       edit.add(cb1);     edit.add(cb2);     edit.add(item8 = new MenuItem("-"));     Menu sub = new Menu("Doc. Info");     sub.add(item9 = new MenuItem("password"));     sub.add(item10 = new MenuItem("pages"));     edit.add(sub);     menubar.add(file);     menubar.add(edit);     item1.addActionListener(this);     item2.addActionListener(this);     item3.addActionListener(this);     item4.addActionListener(this);     item5.addActionListener(this);     item6.addActionListener(this);     item7.addActionListener(this);     item8.addActionListener(this);     item9.addActionListener(this);     item10.addActionListener(this);     cb1.addItemListener(this);     cb2.addItemListener(this);        } 

Page 17: 14.  기타  GUI Components

14. 14. 기타 기타  GUI ComponentsGUI Components14.1.3 메뉴  (menu)

[ 예제 프로그램 ] public void actionPerformed(ActionEvent e) {   msg = "Your selection is ";   String arg = (String) e.getActionCommand();   if(arg.equals("new")) msg += "new";   else if(arg.equals("open")) {         FileDialog f = new FileDialog(this, "File Dialog");         f.setVisible(true);         }   else if(arg.equals("read")) msg += "read";   else if(arg.equals("end")) {      setVisible(false);      dispose();      System.exit(0);     }   else if(arg.equals("cut")) msg += "cut";   else if(arg.equals("paste")) msg += "paste";   else if(arg.equals("password")) msg += "password";   else if(arg.equals("pages")) msg += "pages";   repaint(); } 

Page 18: 14.  기타  GUI Components

14. 14. 기타 기타  GUI ComponentsGUI Components14.1.3 메뉴  (menu)[ 예제 프로그램 ] public void itemStateChanged(ItemEvent e) {    repaint(); } public void paint(Graphics g) {        g.drawString(msg, 10, 150);   if(cb1.getState())      g.drawString("sign 1 On", 10, 180);   else      g.drawString("sign 1 Off", 10, 180);   if(cb2.getState())      g.drawString("sign 2 On", 10, 200);   else      g.drawString("sign 2 Off", 10, 200); } } [HTML 파일 ] <html> <head><title> Menu Bar Demo</title></head> <body> <applet code="MenuDemo" width=300 height=300> </applet> </body> </html> 

Page 19: 14.  기타  GUI Components

14. 14. 기타 기타  GUI ComponentsGUI Components14.1.3 메뉴  (menu) PopupMenu     PopupMenu 는 자바 애플릿 실행시간에  Container 객체 안의 임의 

위치    에 나타날 수 있는 팝업 메뉴를 구현하기 위한 클래스이다 . 팝업 메뉴    는 키보드나 마우스를 사용한 특정 이벤트가 발생하면 화면에 나타나    게 되는 데 , 팝업 메뉴를 발생시키는 이벤트는 운영체제마다 다르다 .

     MS  윈도우의 경우 컴포넌트 위에 마우스 포인터를 위치시킨 후 오른   버튼을 클릭하면 팝업 메뉴가 나타난다 . 

 [ 생성자 ]   ① public PopupMenu()        - 팝업 메뉴를 생성한다 .   ② public PopupMenu(String label)        -  원하는 이름을 가진 팝업 메뉴를 생성한다 . 

Page 20: 14.  기타  GUI Components

14. 14. 기타 기타  GUI ComponentsGUI Components14.1.3 메뉴  (menu)

PopupMenu        PopMenu  클래스는  Menu  클래스의 파생 클래스이므로 , Menu 

클래스의 

    메소드를 모두 사용할 수 있다 .  특히 팝업 메뉴를 동작시키는 방법이 운

   영체제에 따라 다르므로 ,  이를 감지하는 메소드  isPopupTrigger() 가 

    MouseEvent  클래스에서 지원된다 .  그러므로 팝업 메뉴를화면에 출력하

    기 위해서는 먼저  마우스 리스너에서  isPopupTrigger()  메소드를 사용하

    여 현재 발생한 마우스 이벤트가 팝업 메뉴를 호출하는 것이었는지를 

   감지 하여야 한다 .  

    다음 예제 프로그램은  Frame 에 팝업 메뉴를 등록한 애플릿이다 . 오른쪽 

    마우스 버튼을 클릭하면 팝업메뉴가 나타나며 ,  선택한 메뉴 아이템이 

    하단에 디스플레이 된다 . 

Page 21: 14.  기타  GUI Components

14. 14. 기타 기타  GUI ComponentsGUI Components14.1.3 메뉴  (menu)

import java.awt.*; import java.awt.event.*; public class popupDemo extends java.applet.Applet {   PopupMenuDemo f;   public void init() {     f= new PopupMenuDemo();     add(f);     f.setVisible(true);   } 

class PopupMenuDemo extends Frame {   PopupMenu pm = new PopupMenu("Demo");      Label t1 = new Label("Click Right button", Label.CENTER);   public PopupMenuDemo() {     super("Popup Menu Demo");          Canvas c1 = new Canvas();     add(c1,BorderLayout.CENTER);     c1.addMouseListener(new mouseListener()); 

Page 22: 14.  기타  GUI Components

14. 14. 기타 기타  GUI ComponentsGUI Components14.1.3 메뉴  (menu)

     pm.add(addMenuItem("popup menu one"));     pm.add(addMenuItem("popup menu two"));     pm.add(addMenuItem("popup menu three"));     pm.add(addMenuItem("-"));     pm.add(addMenuItem("Exit"));          c1.add(pm);     add(t1, BorderLayout.SOUTH);          addWindowListener(new windowListener());     setSize(300,200);     show();   }     MenuItem addMenuItem(String t1) {     MenuItem item = new MenuItem(t1);     item.setActionCommand(t1);     item.addActionListener(new actionListener());     return item;   } class actionListener implements ActionListener {     public void actionPerformed(ActionEvent e) {       String str = e.getActionCommand();       t1.setText("Your selection is " + str);       if(str.equals("Exit")) {         setVisible(false); 

Page 23: 14.  기타  GUI Components

14. 14. 기타 기타  GUI ComponentsGUI Components14.1.3 메뉴  (menu)dispose();         System.exit(0);       }     }   } 

class mouseListener extends MouseAdapter {     public void mouseReleased(MouseEvent e) {     if(e.isPopupTrigger()) {      pm.show(e.getComponent(), e.getX(), e.getY());       }     }   }   class windowListener extends WindowAdapter {     public void windowClosing(WindowEvent e) {       Object o1 = e.getSource();       if(o1 == PopupMenuDemo.this) {         setVisible(false);         dispose();         System.exit(0);       } } }  } } 

Page 24: 14.  기타  GUI Components

14. 14. 기타 기타  GUI ComponentsGUI Components14.1.3 메뉴  (menu) Dialog  클래스      Dialog  클래스는 사용자에게 간단한 정보를 디스플레이하거나 

정보를     입력받기 위하여 사용되는 윈도우 파생 클래스이다 .  

[ 생성자 ] ① public Dialog(Frame parent)       - parent 는  Dialog  윈도우를 제어하는  Frame  타입의 부모 윈도우를 

      나타낸다 . ② public Dialog(Frame parent, boolean flag)       - flag 는 생성된  Dialog 가  modal(true) 인지  modaless 인지를 나타낸다 . 

③ public Dialog(Frame parent, String title)    - title 은 생성된  Dialog  윈도우의 제목을 지정한다 . ④ public Dialog(Frame parent, String title, boolean flag)    -  생성된  dialog  윈도우의 제목과 타입을 설정한다 . 

Page 25: 14.  기타  GUI Components

14. 14. 기타 기타  GUI ComponentsGUI Components14.1.3 메뉴  (menu) [Dialog Box 를 사용하는 예제 프로그램 ] 

import java.applet.*; import java.awt.*; import java.awt.event.*; public class DialogDemo extends Applet implements ActionListener {   public void init() {     Button b = new Button("Create Frame");     b.addActionListener(this);     add(b);   } 

public void actionPerformed(ActionEvent ae) {       MyFrame2 mf = new MyFrame2("My Frame");     mf.setSize(200, 140);     mf.show();   } } 

Page 26: 14.  기타  GUI Components

14. 14. 기타 기타  GUI ComponentsGUI Components14.1.3 메뉴  (menu)

[Dialog Box 를 사용하는 예제 프로그램 ] class MyFrame2 extends Frame implements ActionListener {   Label label = new Label("", Label.CENTER);   MyFrame2(String title) {     super(title);     Button la = new Button("Create Dialog");     add(la,BorderLayout.CENTER);     la.addActionListener(this);     add(label, BorderLayout.SOUTH);     addWindowListener(new WindowAdapter()  {           public void windowClosing(WindowEvent we) {               setVisible(false);               dispose();               System.exit(0);           }       });   } 

Page 27: 14.  기타  GUI Components

14. 14. 기타 기타  GUI ComponentsGUI Components14.1.3 메뉴  (menu) [Dialog Box 를 사용하는 예제 프로그램 ] public void actionPerformed(ActionEvent ae) {     String message = "Do you like Dialog Box?";     MessageDialog md =        new MessageDialog(this, "Message Dialog", true, message);     md.show();     if(md.answer() == true)     label.setText("Yes, You like it");     else     label.setText("Oh! No!!!");   } } class MessageDialog extends Dialog implements ActionListener {   Button yes, no;   boolean YN;   MessageDialog(Frame parent, String title, boolean mode, String messa

ge)    { super(parent, title, mode);     Panel pc = new Panel();     Label label = new Label(message);     pc.add(label);     add(pc, "Center"); 

Page 28: 14.  기타  GUI Components

14. 14. 기타 기타  GUI ComponentsGUI Components14.1.3 메뉴  (menu) [Dialog Box 를 사용하는 예제 프로그램 ]   Panel ps = new Panel();     yes = new Button("Yes");     yes.addActionListener(this);     ps.add(yes);     no = new Button("No");     no.addActionListener(this);     ps.add(no);     add(ps, "South");     pack();   }   public void actionPerformed(ActionEvent e) {     String ans = e.getActionCommand();     if(ans.equals("Yes")) YN = true;     else YN = false;     dispose();   }   public boolean answer() {     return YN;   } } 

Page 29: 14.  기타  GUI Components

14. 14. 기타 기타  GUI ComponentsGUI Components14.1.3 메뉴  (menu) File Dialog  클래스 

- FileDialog 는 파일을 선택할 수 있는 다이얼로그를 생성하는 클래스 -  모달 타입 [ 생성자 ] ① public FileDialog(Frame parent)  - parent 는 다이어로그 윈도우를 제어하는 부모 프레임을 지정한다. 

② public FileDialog(Frame parent, String title)  - title 은 제목을 지정한다 . ③ public FileDialog(Frame parent, String title, int rw)  - rw 는 파일을 읽어 올 것 ( 상수 : LOAD) 인지 저장할 것 ( 상수 : SAVE)

    인지를 지정한다 . 

Page 30: 14.  기타  GUI Components

14. 14. 기타 기타  GUI ComponentsGUI Components14.1.3 메뉴  (menu)

File Dialog  클래스 

FileDialog  클래스에서 지원되는 메소드를 정리하면 다음과 같다 . 

① public synchronized void setDirectory(String dir) 

   - 파일 다이얼로그에서 디스플레이될 디렉토리를 설정한다 . 

② public synchronized void setFile(String file) 

   - 파일 다이얼로그에서 특정 파일 (file) 을 선택한다 . 

③ public synchronized void setFilenameFilter(FilenameFilter filter) 

   - 파일 다이얼로그에서 사용될 필터를 설정한다 . 

Page 31: 14.  기타  GUI Components

14. 14. 기타 기타  GUI ComponentsGUI Components14.1.3 메뉴  (menu)

[파일 다이얼로그 예제 프로그램 ] import java.applet.*; import java.awt.*; import java.awt.event.*; public class FileDialogDemo extends Applet {   public void init() {         MyFrame3 my = new MyFrame3("Frame");     my.setSize(240, 150); // Set Frame Size     my.show();      // Set Frame visible   } } class MyFrame3 extends Frame implements ActionListener {   MyFrame3(String title) {     super(title);     Button la = new Button("Create FileDialog");     la.addActionListener(this);     add(la); 

Page 32: 14.  기타  GUI Components

14. 14. 기타 기타  GUI ComponentsGUI Components14.1.3 메뉴  (menu)

 [파일 다이얼로그 예제 프로그램 ]    addWindowListener(new WindowAdapter()        { // We can close the frame.           public void windowClosing(WindowEvent we) {               setVisible(false);               dispose();               System.exit(0);           }       });   }   public void actionPerformed(ActionEvent ae) {     FileDialog fd = new FileDialog(this, "File Dialog");     fd.setVisible(true);   } } 

Page 33: 14.  기타  GUI Components

14. 14. 기타 기타  GUI ComponentsGUI Components14.1.3 메뉴  (menu)