【Java】GUIアプリ:メニューバーを作成し、新規ウィンドウでアプリを開く

■作成するプログラムの概要

・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アプリケーションが終了する。

コメント