■作成するプログラムの概要
・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アプリケーションが終了する。
コメント