TOP →
Java →
Swing →
JMenuBar,JMenu,JMenuItem → This Page
JMenuItem@Swing サンプル03
概要
Java -
Swing -
JMenuItem のサンプルです。
・ニーモニックの設定
・セパレータの追加
解説
メニューアイテムにニーモニックを設定しています。
ニーモニックとは直接クリックしなくても Alt キーとの組み合わせで
クリックと同様の効果を得る機能です。
例えばニーモニックとしてメニューアイテム1に A を割り当てると、
Alt+A のキーを押すとメニューアイテム1がクリックされます。
サンプルではメニューアイテム1に F 、メニューアイテム2に E 、メニューアイテム3に H を割り当てています。
また、メニューアイテム3と4の間にセパレータを追加しています。
サンプルイメージ
サンプルソース
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.border.BevelBorder;
/**
* JMenuItem サンプル03
* ・ニーモニックの設定
* ・セパレータの追加
*
* @author みっちー
*/
public class JMenuItem03 extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
/** ラベル */
JLabel label = null;
/**
* 開始メソッド
*
* @param args パラメータ
*/
public static void main(String[] args) {
JMenuItem03 frame = new JMenuItem03();
// 閉じるボタンをクリックされた場合の動作を設定
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// ウインドウのタイトルを設定
frame.setTitle("JMenuItem サンプル03");
// フレームの X座標、Y座標、幅、高さを設定
frame.setBounds(100, 200, 400, 170);
// フレームを表示(これをしないと透明のフレームが立ち上がってしまう)
frame.setVisible(true);
}
/**
* コンストラクタ
*/
public JMenuItem03() {
// パネルを作成
JPanel panelBase = new JPanel();
// メニューバーを作成
JMenuBar menubar = new JMenuBar();
// メニューを作成
JMenu menu1 = new JMenu("File");
JMenu menu2 = new JMenu("Edit");
JMenu menu3 = new JMenu("Help");
// メニューバーにメニューを追加
menubar.add(menu1);
menubar.add(menu2);
menubar.add(menu3);
// メニューアイテムを作成
JMenuItem menu1Item1 = new JMenuItem("New");
JMenuItem menu1Item2 = new JMenuItem("Open");
JMenuItem menu1Item3 = new JMenuItem("Save");
JMenuItem menu1Item4 = new JMenuItem("Exit");
// ニーモニックの設定
menu1Item1.setMnemonic(KeyEvent.VK_N);
menu1Item2.setMnemonic(KeyEvent.VK_O);
menu1Item3.setMnemonic(KeyEvent.VK_S);
// アクションコマンド追加
menu1Item1.setActionCommand("New");
menu1Item2.setActionCommand("Open");
menu1Item3.setActionCommand("Save");
// アクションリスナー追加
menu1Item1.addActionListener(this);
menu1Item2.addActionListener(this);
menu1Item3.addActionListener(this);
// メニューにアイテムを追加
menu1.add(menu1Item1);
menu1.add(menu1Item2);
menu1.add(menu1Item3);
// セパレータの追加
menu1.addSeparator();
// メニューにアイテムを追加
menu1.add(menu1Item4);
// メニューバーを追加
setJMenuBar(menubar);
// ラベルを作成
label = new JLabel("");
label.setPreferredSize(new Dimension(200, 20));
label.setBorder(new BevelBorder(BevelBorder.LOWERED));
panelBase.add(label);
// パネルを追加
getContentPane().add(panelBase);
}
/**
* アクション
*/
public void actionPerformed(ActionEvent e){
label.setText(e.getActionCommand());
}
}
サンプルソースのダウンロード
ソースのダウンロード(Eclipse用のプロジェクトファイルも同梱)
更新履歴
2016/05/13 新規作成
TOP →
Java →
Swing →
JMenuBar,JMenu,JMenuItem → This Page