■作成するプログラムの概要
・GUIアプリにメニューバーを作成する。
・メニュータブの名前は「ファイル」とする。
・「ファイル」の中に「新規で開く」と「閉じる」を作成する。
・「新規で開く」を選択した場合、GUIアプリを新規で表示する。
・「閉じる」を選択した場合、GUIアプリを終了する。
▼画面レイアウト
メニューバーを実装し、「ファイル」メニューを作成する。
「ファイル」メニューの中に、「新規で開く」と「閉じる」を実装する。
■フローチャート
▼初期処理(コンストラクタ)
▼「新規で開く」と「閉じる」を選択した時の処理
■プログラム仕様
▼メンバ変数
| 項目 | 型 | 説明 | 
|---|---|---|
| メニューバー | JMenuBar | メニューを設定するための下地。 | 
| 「ファイル」メニュー | JMenu | メニューバーに表示させる項目。 | 
| 「新規で開く」 | JMenuItem | メニューを選択した際、表示される項目。 選択時、新規で GUI画面を表示する。  | 
| 「閉じる」 | JMenuItem | メニューを選択した際、表示される項目。 選択時、 GUIアプリケーションを終了する。  | 
▼初期処理(コンストラクタ)
| 入力 | 処理内容 | 出力 | 
|---|---|---|
| – | 「ファイル」メニューに「新規で開く」を追加する。 | – | 
| – | 「ファイル」メニューに「閉じる」を追加する。 | – | 
| – | メニューバーに「ファイル」メニューを追加する。 | – | 
| – | メニューバーをオブジェクトにセットする。 | – | 
| – | 「新規で開く」選択時の処理を設定する。 | – | 
| – | 「閉じる」選択時の処理を設定する。 | – | 
| – | GUI画面のサイズを設定する。 横:400 縦:100  | – | 
| – | GUI画面を可視化する。 | – | 
▼「新規で開く」と「閉じる」を選択した時の処理
| 入力 | 処理内容 | 出力 | 
|---|---|---|
| – | ▼条件分岐 |【「新規で開く」を選択した場合】 |新規でGUI画面を表示する。 ----- |【「閉じる」を選択した場合】 |GUIアプリケーションを終了する。 ▲  | 【GUIアプリ】 新規画面  | 
■サンプルコード
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
class MakeMenuBar extends JFrame implements ActionListener{
	// メンバ変数
	private JMenuBar menuBar = new JMenuBar();
	private JMenu Filemenu = new JMenu("ファイル");
	private JMenuItem Openmenu = new JMenuItem("新規で開く");
	private JMenuItem Exitmenu = new JMenuItem("閉じる");
	
	// コンストラクタ
	public MakeMenuBar() {
		// ファイルメニューに「新規で開く」と「閉じる」をセット
		Filemenu.add(Openmenu);
		Filemenu.add(Exitmenu);
		
		// メニューバーに「ファイルメニュー」をセット
		menuBar.add(Filemenu);
		
		// メニューバーをオブジェクトにセット
		setJMenuBar(menuBar);
		
		// 「新規で開く」と「閉じる」押下時の処理を設定
		Openmenu.addActionListener(this);
		Exitmenu.addActionListener(this);
		
		// サイズを設定
		setSize(400, 100);
		
		// GUI画面の可視化
		setVisible(true);
		}
	
	// 「新規で開く」と「閉じる」を選択した時の処理
	public void actionPerformed(ActionEvent ae) {
		if(ae.getSource() == Openmenu) {
			// 新規で画面を開く
			new MakeMenuBar();
		}else if(ae.getSource() == Exitmenu) {
			// すべて終了
			System.exit(0);
		}
	}
	
}
public class CreateMenuBar {
	public static void main(String[] args) {
		new MakeMenuBar();
	}
}
■実行結果
・GUIアプリケーション起動時の初期画面
・「ファイル」メニュー押下時
・「新規で開く」選択時の処理
・「閉じる」選択時の処理
※GUIアプリケーションが終了する。
コメント