/**
 * AWTComponent class
 *
 * @author yoonforh@moon.daewoo.co.kr
 *
 */

import java.awt.*;
import java.awt.event.*;

public class AWTComponent extends Frame 
			implements ActionListener { // ¹öÆ°ÀÇ ½ÇÇà ÀÌº¥Æ® Ã³¸®
	// ÇÁ·¹ÀÓÀÇ »ý¼ºÀÚ
	AWTComponent(String title) {
		super(title);
		// ¸Þ´º¹Ù »ý¼º
		MenuBar menuBar=new MenuBar();
		// ÆÄÀÏ ¸Þ´º¸¦ »ý¼ºÇÏ¿© ¸Þ´º¹Ù¿¡ Ãß°¡
		Menu fileMenu = new Menu("File");
		menuBar.add(fileMenu);
		// ÆÄÀÏ ¸Þ´ºÀÇ °¢ ¸Þ´º Ç×¸ñÀ» »ý¼º
		fileMenu.add(new MenuItem("Open"));
		fileMenu.add(new MenuItem("Save"));
		fileMenu.addSeparator();
		fileMenu.add(new MenuItem("Print"));
		fileMenu.addSeparator();
		// Á¾·á ¸Þ´º Ç×¸ñÀº ´ÜÃàÅ°¸¦ ¸¸µé°í ½ÇÇà ÀÌº¥Æ® Ã³¸® °´Ã¼¸¦ µî·ÏÇÑ´Ù.
		MenuItem exitItem = new MenuItem("Exit", new MenuShortcut('X'));
		fileMenu.add(exitItem);
		exitItem.setActionCommand("Exit");
		exitItem.addActionListener(this);
		// ¸Þ´º¹Ù¸¦ ÇÁ·¹ÀÓ¿¡ Ãß°¡ÇÑ´Ù.
		setMenuBar(menuBar);

		// ¹öÆ°°ú ÅØ½ºÆ®¿¡¸®¾î¸¦ °¢°¢ ÇÁ·¹ÀÓ¿¡ Ãß°¡ÇÑ´Ù.
		Button button=new Button("Exit");
		add(button, "South");
		button.addActionListener(this);
		TextArea text=new TextArea();
		add(text, "Center");
		// ÅØ½ºÆ®¿¡¸®¾îÀÇ ÃÊ±â ÅØ½ºÆ® ³»¿ëÀ» ÁöÁ¤
		text.setText("AWT ÄÄÆ÷³ÍÆ®¸¦ »ç¿ëÇÏ¿´½À´Ï´Ù.");
	}

	// main() ¸Þ¼Òµå
	public static void main(String args[]) {
		AWTComponent frame=new AWTComponent("AWT UI Program");
		frame.setSize(300, 300);
		frame.setVisible(true);
	}

	// ½ÇÇà ÀÌº¥Æ®°¡ ¹ß»ýÇÏ¸é Á¾·áÇÑ´Ù.
	public void actionPerformed(ActionEvent evt) {
		String cmd=evt.getActionCommand();
		if (cmd.equals("Exit"))
			System.exit(0);
	}
}
