在Java中,设定窗口标题可以简单的调用JFrame所提供的setTitle()方法,该方法接受一个字符串作为窗口的新标题。创建一个下拉式菜单则涉及到创建一个菜单条JMenuBar,创建一个菜单JMenu,以及创建一个菜单项JMenuItem等操作。在下面的程序片断中详细展示了创建一个下拉式菜单的整个过程,其中菜单项的消息处理部分addActionListener()和setActionCommand() 是使得菜单能够正常工作的关键。F_New.addActionListener(this)方法指定程序使用NotePad类所提供的消息处理方法actionPerformed()来处理这个动作,F_New.setActionCommand("F_New")方法则指定程序在用户选取该菜单项的时候向系统发送一个参数为"F_New" 的菜单动作消息,这个消息最后将由NotePad类中的actionPerformed()方法来处理。// 创建下拉式菜单
    private JMenuBar CreateMenu()
    {
 // 创建一个菜单条
 JMenuBar EditorMenu = new JMenuBar();
 // 创建一个File菜单
 JMenu FileMenu = new JMenu("File"); // 创建一个菜单项
 JMenuItem F_New    = new JMenuItem("New");
 // 添加菜单消息处理
 F_New.addActionListener(this);
 F_New.setActionCommand("F_New");
 // 将该裁单项添加到菜单中
 FileMenu.add(F_New); // 将File菜单添加到菜单条
 EditorMenu.add(FileMenu);
 // 返回菜单条
 return EditorMenu;
    }

解决方案 »

  1.   

    调用setActionCommand()方法可以为按钮设置一个命令名,这个命令名在响应事件时可能用到;调用getActionCommand()方法可以获得这个命令名希望看到这些文章你会有所收获.
      

  2.   

    就是得到点击某个菜单条的事件的名称,而setActionCommand为设置点击某个菜单条的事件的名称。例子:
    import java.awt.*;import java.awt.event.*;import javax.swing.*;public class MenuBarExample extends JPanel implements ItemListener{  static JFrame myFrame;  Font myFont = new Font("Dialog", Font.PLAIN, 16);  public MenuBarExample(){    setFont(myFont);    JTabbedPane tabs = new JTabbedPane(SwingConstants.BOTTOM);    Icon icon = new ImageIcon ("feet.gif");    JButton button = new JButton(icon);    JLabel label = new JLabel ("Hello World!");    tabs.addTab("Hello World",label);    tabs.addTab("Feet",icon,button);    setLayout(new BorderLayout());    add(tabs,"Center");    add(createMenu(),"North");  }  public JMenuBar createMenu(){    JMenuBar menuBar = new JMenuBar();    // File Menu - create this so we have at least two menu options    JMenu file = (JMenu) menuBar.add(new JMenu("File"));    file.setMnemonic('F');    JMenuItem mi; //Temporary place holder    //Add several items under 'File' these won't do anything.    mi = (JMenuItem) file.add(new JMenuItem("Open"));    mi.setMnemonic('O');    mi = (JMenuItem) file.add(new JMenuItem("Save"));    mi.setMnemonic('S');    mi = (JMenuItem) file.add(new JMenuItem("Save As..."));    mi.setMnemonic('A');    file.add(new JSeparator());    mi = (JMenuItem) file.add(new JMenuItem("Exit"));    // Look and Feel Menu    JMenu options = (JMenu) menuBar.add(new JMenu("L&F"));    options.setMnemonic('L');    // Look and Feel Radio control    ButtonGroup group = new ButtonGroup();    mi = options.add(new JCheckBoxMenuItem("Windows L&F"));    mi.setActionCommand("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");    //If the current look and feel is windows, select this item.    mi.setSelected(UIManager.getLookAndFeel().getName().equals("Windows"));    //group.add(mi);    mi.addItemListener(this);    //  mi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_1, ActionEvent.ALT_MASK));    mi = options.add(new JRadioButtonMenuItem("Motif L&F"));    mi.setActionCommand("com.sun.java.swing.plaf.motif.MotifLookAndFeel");    mi.setSelected(UIManager.getLookAndFeel().getName().equals("CDE/Motif"));    group.add(mi);    mi.addItemListener(this);    //  mi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_2, ActionEvent.ALT_MASK));    mi = options.add(new JRadioButtonMenuItem("Metal L&F"));    mi.setActionCommand("javax.swing.plaf.metal.MetalLookAndFeel");    mi.setSelected(UIManager.getLookAndFeel().getName().equals("Metal"));    //  metalMenuItem.setSelected(true);    group.add(mi);    mi.addItemListener(this);    //  metalMenuItem.setAccelerator(KeyStroke.getKeyStroke (KeyEvent.VK_3, ActionEvent.ALT_MASK));    return menuBar;  }  public void itemStateChanged(ItemEvent e) {    Component root = myFrame;    //Bump the cursor into a wait mode while we make this change    root.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));    //Get the source of the event.    JRadioButtonMenuItem button = (JRadioButtonMenuItem) e.getSource();    try {      if(button.isSelected()) {        UIManager.setLookAndFeel(button.getActionCommand());        button.setEnabled(true);        SwingUtilities.updateComponentTreeUI(myFrame);      }    } catch (UnsupportedLookAndFeelException exc) {      // Error - unsupported L&F      button.setEnabled(false);      System.err.println("Unsupported LookAndFeel: " + button.getText());    }catch (Exception exc2){         System.err.println("Couldn't load Look and feel" + button.getText());    }    root.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));  }  public static void main(String args[]){    myFrame = new JFrame("MenuBar Example");    MenuBarExample menuExample = new MenuBarExample();    myFrame.getContentPane().add("Center",menuExample);    myFrame.setSize(400,200);    myFrame.addWindowListener(new WindowAdapter() {      public void windowClosing(WindowEvent e) {System.exit(0);}      });    myFrame.setVisible(true);  }}
      

  3.   

    楼上见位能如此的帮助java菜鸟,可见并非是为分而来的,!万分的感谢你们的帮助,我决定为此贴加到50分,以感谢各位对小弟的关怀!谢谢!