- Home ›
- Swing ›
- メニューの作成(JMenu,JMenuBar,JMenuItemクラス) ›
- HERE
セパレータを追加
広告
メニューの中に追加されたメニューアイテムが表示されますが、メニュー内にセパレータ(区切り線)を表示させて同じメニュー内でエリアを区切って表示させることができます。
メニューにセパレータを追加するにはJMenuクラスで定義されているaddSeparatorメソッドを使います。
addSeparator public void addSeparator()
メニューの最後に新しいセパレータを追加します。
メソッドを実行するとメニューの最後にセパレータが追加されます。
例えば一つのメニューを次のようにしたい場合で考えてみます。(セパレータを"------"で表しています)。
New ------ Open Save ----- Close
上記を実現するためには次のように記述します。
JMenu menu = new JMenu("File");
JMenuItem menuitem1 = new JMenuItem("New");
JMenuItem menuitem2 = new JMenuItem("Open");
JMenuItem menuitem3 = new JMenuItem("Save");
JMenuItem menuitem4 = new JMenuItem("Close");
menu.add(menuitem1);
menu.addSeparator();
menu.add(menuitem2);
menu.add(menuitem3);
menu.addSeparator();
menu.add(menuitem4);
メニューアイテムをメニューに追加するように、セパレータをメニューに追加して下さい。
サンプルプログラム
では実際に試してみます。
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import java.awt.Container;
import java.awt.BorderLayout;
class SSample18_1 extends JFrame{
JLabel label;
public static void main(String args[]){
SSample18_1 frame = new SSample18_1("タイトル");
frame.setVisible(true);
}
SSample18_1(String title){
setTitle(title);
setBounds(100, 100, 300, 250);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JMenuBar menubar = new JMenuBar();
JMenu menu1 = new JMenu("File");
JMenu menu2 = new JMenu("Edit");
JMenu menu3 = new JMenu("Tool");
JMenu menu4 = new JMenu("Help");
menubar.add(menu1);
menubar.add(menu2);
menubar.add(menu3);
menubar.add(menu4);
JMenuItem menuitem1_1 = new JMenuItem("New");
JMenuItem menuitem1_2 = new JMenuItem("Open");
JMenuItem menuitem1_3 = new JMenuItem("Save");
JMenuItem menuitem1_4 = new JMenuItem("Close");
menu1.add(menuitem1_1);
menu1.addSeparator();
menu1.add(menuitem1_2);
menu1.add(menuitem1_3);
menu1.addSeparator();
menu1.add(menuitem1_4);
setJMenuBar(menubar);
JPanel p = new JPanel();
label = new JLabel();
p.add(label);
Container contentPane = getContentPane();
contentPane.add(p, BorderLayout.CENTER);
}
}
ではコンパイルを行った上で実行してみます。
では「File」メニューをクリックして下さい。
メニューの中にセパレータが表示されていることが確認できます。
( Written by Tatsuo Ikura )
JavaDrive