/*MyFrame2.java*/
import java.awt.*;
import java.awt.event.*;

public class MyFrame2 extends Frame
{
	static public void main(String args[])
	{
		Frame window=new MyFrame2();//MyFrame2の生成に変更
		window.setSize(300,120);
		window.setVisible(true);
	}
	public void paint(Graphics g)
	{
		g.setColor(Color.blue);
		g.setFont(g.getFont().deriveFont(Font.PLAIN,50.0f));
		g.drawString("Hello World",10,80);
	}
	
	
	//以下が主な追加点
	
	//コンストラクタで代行者を生成しイベント処理の依頼をすることにした
	public MyFrame2()
	{
		addWindowListener(this.new Control());
	
	}
	
	/*内部クラス　ウインドウを閉じる操作とプログラムの終了を代行する*/
	class Control extends WindowAdapter
	{
		//ここでは依頼者MyFrameのメンバを自由に呼べる
		
		public void windowClosed(WindowEvent e)
		{
			System.exit(0);//プログラムの終了
		}
		public void windowClosing(WindowEvent e)
		{
			dispose();//依頼者のメソッドdisposeを呼ぶ
			//disposeの結果windowClosedが呼ばれる
		}
	}

}