Swing菜单
菜单示例代码,主要往JmenuBar添加JMenuItem,然后通过调用JFrame.setJMenuBar进行添加,JMenuItem看上去就是菜单的下拉框上的键,值得注意的是,1、添加JMenuBar,应该调用JFrame.setJMenuBar();2、jframeJComponent可以设置助记符,JComponent.setMnimonic(KeyEvent.Constant),这里作为参数的是KeyEvent的常量;然后通过item.setAcceelarotor(KeyStroke.getKeyStroke(int,int))使用,生成快捷键,前者通常为助记符,后者为辅助键,而后者应该使用Event的常量,而不应该使用KeyEvent的常量;下面贴出代码:
public class A {
public static void main(String args[]) {
JFrame myFrame = new JFrame("我的菜单");
myFrame.setSize(300, 200);
myFrame.setLocation(0, 0);
JTextArea textArea = new JTextArea("请输入");
textArea.setEditable(true);
//创建菜单
JMenu menu = new JMenu("菜单");
//创建菜单按钮
JMenuItem item1 = new JMenuItem("新建");
JMenuItem item2 = new JMenuItem("打印");
JMenuItem item3 = new JMenuItem("退出");
JMenuItem item4 = new JMenuItem("关闭");
item1.setMnemonic(KeyEvent.VK_N);
item2.setMnemonic(KeyEvent.VK_E);
item3.setMnemonic(KeyEvent.VK_R);
item4.setMnemonic(KeyEvent.VK_T);
item1.setAccelerator(KeyStroke.getKeyStroke(item1.getMnemonic(), java.awt.Event.CTRL_MASK));
item2.setAccelerator(KeyStroke.getKeyStroke(item2.getMnemonic(), Event.ALT_MASK));
item3.setAccelerator(KeyStroke.getKeyStroke(item3.getMnemonic(), Event.SHIFT_MASK));
item4.setAccelerator(KeyStroke.getKeyStroke(item4.getMnemonic(), Event.SHIFT_MASK));
menu.add(item1);
menu.add(item2);
menu.add(item3);
menu.add(item4);
JScrollPane scrollPane = new JScrollPane(textArea, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
myFrame.add(scrollPane);
JMenuBar menuBar = new JMenuBar();
menuBar.add(menu);
myFrame.setJMenuBar(menuBar);
myFrame.setSize(600, 300);
myFrame.setVisible(true);
}
}
浙公网安备 33010602011771号