import java.awt.*; import java.awt.event.*; import javax.swing.*; public class MenuDemo implements ItemListener,ActionListener { JFrame frame=new JFrame("Menu Demo"); JTextField tf=new JTextField(); public static void main(String args[]) { MenuDemo menuDemo=new MenuDemo(); menuDemo.go(); } public void go(){ JMenuBar menubar=new JMenuBar(); frame.setJMenuBar(menubar); JMenu menu,submenu; JMenuItem menuItem; menu=new JMenu("文件"); menu.setMnemonic(KeyEvent.VK_F); menubar.add(menu); menuItem=new JMenuItem("打开"); menuItem.setMnemonic(KeyEvent.VK_O); menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_1,ActionEvent.ALT_MASK)); menuItem.addActionListener(this); menu.add(menuItem); menuItem=new JMenuItem("保存",KeyEvent.VK_S); menuItem.addActionListener(this); menuItem.setEnabled(false); menu.add(menuItem); menu.add(new JSeparator()); menuItem=new JMenuItem("退出"); menuItem.setMnemonic(KeyEvent.VK_E); menuItem.addActionListener(this); menu.add(menuItem); menu=new JMenu("设置"); menubar.add(menu); menu.add("字体..."); submenu=new JMenu("颜色..."); menu.add(submenu); menuItem=new JMenuItem("前景色"); menuItem.addActionListener(this); menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_2,ActionEvent.ALT_MASK)); submenu.add(menuItem); menuItem=new JMenuItem("背景色"); menuItem.addActionListener(this); menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_3,ActionEvent.ALT_MASK)); submenu.add(menuItem); menu.addSeparator(); JRadioButtonMenuItem rm=new JRadioButtonMenuItem("小",true); rm.addActionListener(this); menu.add(rm); ButtonGroup group=new ButtonGroup(); group.add(rm); rm=new JRadioButtonMenuItem("大"); rm.addItemListener(this); menu.add(rm); group.add(rm); menu=new JMenu("帮助"); menubar.add(menu); menuItem=new JMenuItem("关于",new ImageIcon("12181187982.jpg")); menuItem.addActionListener(this); menu.add(menuItem); tf.setEditable(false); Container cp=frame.getContentPane(); cp.add(tf,BorderLayout.SOUTH); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(300,200); frame.setVisible(true); } public void itemStateChanged(ItemEvent e) { int state=e.getStateChange(); JMenuItem amenuItem=(JMenuItem)e.getSource(); String command=amenuItem.getText(); if(state==ItemEvent.SELECTED) tf.setText(command+"SELECTED"); else tf.setText(command+ "DESELECTED"); } public void actionPerformed(ActionEvent e){ tf.setText(e.getActionCommand()); if(e.getActionCommand()=="退出") { System.exit(0); } } }