FrameExitTest.java



/** Frameの終了のテスト */
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class FrameExitTest extends JFrame {

 /** コンストラクタ */
    public FrameExitTest() {
        super( "Frame Exit Test" );
        JMenuBar menubar = new JMenuBar();
        JMenu menu = new JMenu( "File" );
        JMenuItem quit = new JMenuItem( "Exit" );
        menu.add( quit );
        menubar.add( menu );
        setJMenuBar( menubar );
        ActionAdapter adapter = new ActionAdapter();
        quit.addActionListener( adapter );
    }

 /** 最初に呼び出されるメソッド */
    public static void main( String argv[] ) {
        FrameExitTest frame = new FrameExitTest();
        frame.setSize( 400, 300 );
        frame.setVisible( true );
    }

 /** メニューのイベントを処理するinnerクラス */
    class ActionAdapter implements ActionListener {

    /** ActionEventを処理するメソッド */
        public void actionPerformed( ActionEvent evt ) {
            JMenuItem item = (JMenuItem)(evt.getSource());
            if( item.getText().equals( "Exit" ) ) {
                dispose();
                System.exit(0);   // システムの終了
            }
        }
    }
}