package Chapter9Conponent; import java.awt.BorderLayout; import java.awt.Image; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.net.URL; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.JPopupMenu; public class JMenuFram extends JFrame{ public JMenuFram(){ Action exitAction; JFrame menuFrame=new JFrame(); //ÉèÖÃΪ±ß¿ò²¼¾Ö menuFrame.setLayout(new BorderLayout()); //²Ëµ¥À¸·Å²Ëµ¥£¬²Ëµ¥ÖзÅ×Ӳ˵¥ JMenuBar menuBar=new JMenuBar(); //¡±edit¡°²Ëµ¥ JMenu editMenu=new JMenu("Edit"); menuBar.add(editMenu); JMenuItem fontItem=new JMenuItem("Font"); editMenu.add(fontItem); JMenuItem pastItem=new JMenuItem("Past"); editMenu.add(pastItem); //½«Add×Ӳ˵¥Ìí¼ÓÈë±à¼­²Ëµ¥£¬·½·¨·µ»ØÒ»¸öJMenuItem,¿ÉÒÔ¶ÔÆäÌí¼Ó¼àÌý(ÄäÃûÄÚ²¿Àà) JMenuItem addMenu= editMenu.add("Add"); addMenu.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { } }); //editMenu.addSeparator(); //"help"menu JMenu helpMenu=new JMenu("help"); menuBar.add(helpMenu); JMenuItem welcomeItem= helpMenu.add("Welcome"); JMenuItem contentItem=helpMenu.add("HelpContent"); //²Ëµ¥ÖеÄͼ±ê //JMenuItem iconItem=new JMenuItem("icon", new ImageIcon("blue.gif")); //new ImageIcon(String Filename)²¢²»Äܶ¨Î»µ½Í¼Æ¬×ÊÔ´ URL url=this.getClass().getResource("red.gif"); Icon icon=new ImageIcon(url); //ͼ±êÉÏÌí¼Óʼþ //JMenuItem iconItem=new JMenuItem("icon", icon); //helpMenu.add(iconItem); //ÉÏÃæÕâÖÖ·½·¨²¢²»Äܽ«Ê¼þ°ó¶¨Í¼±ê Action IconAction=new AbstractAction("icon") { public void actionPerformed(ActionEvent e) { System.out.println("ͼ±êµÄ²âÊÔʼþ"); } }; //½«´Ëͼ±ê´æ´¢µ½¶¯×÷¶ÔÏóÖÐ IconAction.putValue(Action.SMALL_ICON, icon); //½«¶¯×÷¶ÔÏó´æ´¢Ôڲ˵¥ÖÐ helpMenu.add(IconAction); //File menu JMenu fileMenu=new JMenu("File"); menuBar.add(fileMenu); //¶¨Ò嶯×÷£º¶¨ÒåÒ»¸öʵÏÖAction½Ó¿ÚµÄÀà exitAction=new AbstractAction("exit") { public void actionPerformed(ActionEvent e) { System.exit(0); } }; //Ò»ÏÂÁ½¾ä¿ÉÒÔ¼òд³É----JMenuItem exitItem2= fileMenu.add(exitAction); JMenuItem exitItem=new JMenuItem(exitAction); fileMenu.add(exitItem); //ÉèÖÿì½Ý¼ü JMenuItem aboutItem=new JMenuItem("About", 'A'); fileMenu.add(aboutItem); //pop-up menu //ûÓбêÌâ JPopupMenu popup=new JPopupMenu(); popup.add(IconAction); popup.add("helpItem1"); //must use show() method to show the popupMenu JPanel panel=new JPanel(); //pop-up triggerµ¯³öʽ´¥·¢Æ÷£ºwindowsºÍLinuxÖеÄpop-uptriggerÊÇÊó±êÓÒ¼ü panel.setComponentPopupMenu(popup); //½«menuBar·ÅÔÚFramµÄ±±±ß menuFrame.add(menuBar, BorderLayout.NORTH); menuFrame.add(panel,BorderLayout.CENTER); menuFrame.setVisible(true); menuFrame.setSize(300, 500); //ÉèÖÃframµÄͼ±ê System.out.println(url.toString()); //ÓÃgetImage()¶ÁÈ¡£¬ÉùÒôÓÃgetAudioClip() Image image=new ImageIcon(url).getImage(); menuFrame.setIconImage(image); menuFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) { new JMenuFram(); } }