1.我想在将 JMenuBar 和 Button用容器放在一起,但是总是不显示
2.这个中间O 和 P,S,E等字母的简写分别是啥快捷键,为啥没反映呢
public class Menue extends JFrame {
public Menue() {
JFrame jf = new JFrame();
Container contentPane = getContentPane();
//super("Men�Beispiel");
JMenuBar menubar = new JMenuBar();// 我猜测这个是大概框架
JMenu menu1 = new JMenu("JMenu1");// 框架上的按钮
JMenuItem item1 = new JMenuItem("Item 1");
JMenuItem item2 = new JMenuItem("Item 2");
JMenuItem item3 = new JMenuItem("Item 3");
menu1.add(item1);
menu1.add(item2);
menu1.add(item3);
JMenu menu2 = new JMenu("JMenu2");// 框架上的按钮
JMenuItem item4 = new JMenuItem("Item 4");
JMenuItem item5 = new JMenuItem("Item 5");
menu2.add(item4);
menu2.add(item5);
JMenu menu3 = createFileMenu();
menubar.add(menu3);
menubar.add(menu1);
menubar.add(menu2);
menu1.addSeparator();
/*下面这个比较麻烦*/
setJMenuBar(menubar);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(500, 500);
contentPane.setLayout(new BorderLayout());
contentPane.add(new JButton("Hallo"));
contentPane.remove(0);
setVisible(true);
}
private void setCtrlAccelerator(JMenuItem mi, char acc) {
KeyStroke ks = KeyStroke.getKeyStroke(acc, Event.CTRL_MASK);
mi.setAccelerator(ks);
}
private JMenu createFileMenu() {
JMenu ret = new JMenu("Datei");
ret.setMnemonic('M');// alt+M
JMenuItem mi;
//�ffnen
mi = new JMenuItem("Oeffnen", 'f');
/*
* public JMenuItem(String text,
int mnemonic)创建带有指定文本和键盘助记符的 JMenuItem。
参数:
text - JMenuItem 的文本
mnemonic - JMenuItem 的键盘助记符
* */
setCtrlAccelerator(mi, 'O');
ret.add(mi);
//Speichern
mi = new JMenuItem("Speichern", 'p');
setCtrlAccelerator(mi, 'S');
ret.add(mi);
//Separator
ret.addSeparator();
//Beenden
mi = new JMenuItem("Beenden", 'e');
ret.add(mi);
return ret;
}
public static void main(String[] argumente) {
new Menue();
}
}