Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用java创建菜单_Java_User Interface - Fatal编程技术网

用java创建菜单

用java创建菜单,java,user-interface,Java,User Interface,有没有办法在JavaGUI中创建菜单?比如说,我现在正在使用Firefox。在浏览器的顶部,有一个带有选项卡“文件”、“编辑”、“查看”、“历史记录”、“书签”、“工具”和“帮助”的菜单。那么有没有办法在Java GUI中创建类似的菜单选项卡呢? 我不太清楚这个组件到底叫什么,所以如果有人能给我指出正确的方向,我会非常感激 是的,这是可能的,使用Swing它被称为a。和另一个链接。使用JMenuBar、JMenu和JMenuItem。以下是一个例子: import java.awt.event.

有没有办法在JavaGUI中创建菜单?比如说,我现在正在使用Firefox。在浏览器的顶部,有一个带有选项卡“文件”、“编辑”、“查看”、“历史记录”、“书签”、“工具”和“帮助”的菜单。那么有没有办法在Java GUI中创建类似的菜单选项卡呢?
我不太清楚这个组件到底叫什么,所以如果有人能给我指出正确的方向,我会非常感激

是的,这是可能的,使用
Swing
它被称为a。和另一个链接。

使用JMenuBar、JMenu和JMenuItem。以下是一个例子:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.KeyEvent;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

public class SimpleMenu implements ActionListener, ItemListener  {

    public JMenuBar createMenuBar() {
        //create a menubar
        JMenuBar menuBar;
        JMenu filemenu, editmenu;
        JMenu editsubmenu;
        JMenuItem menuItem;

        //Create the menu bar.
        menuBar = new JMenuBar();

        //Build the file menu.
        filemenu = new JMenu("File");
        filemenu.setMnemonic(KeyEvent.VK_F);
        filemenu.getAccessibleContext().setAccessibleDescription("This is the File menu.");
        menuBar.add(filemenu);

        //menu items
        menuItem = new JMenuItem("New",KeyEvent.VK_N);
        menuItem.getAccessibleContext().setAccessibleDescription("");
        menuItem.addActionListener(this);
        filemenu.add(menuItem);
        menuItem = new JMenuItem("Open File...",KeyEvent.VK_O);
        menuItem.getAccessibleContext().setAccessibleDescription("");
        menuItem.addActionListener(this);
        filemenu.add(menuItem);
        menuItem = new JMenuItem("Close",KeyEvent.VK_C);
        menuItem.getAccessibleContext().setAccessibleDescription("");
        menuItem.addActionListener(this);
        filemenu.add(menuItem);     

        //Build the Edit menu.
        editmenu = new JMenu("Edit");
        editmenu.setMnemonic(KeyEvent.VK_E);
        editmenu.getAccessibleContext().setAccessibleDescription("This is the Edit menu.");
        menuBar.add(editmenu);

        //menu items
        menuItem = new JMenuItem("Undo Typing",KeyEvent.VK_U);
        menuItem.getAccessibleContext().setAccessibleDescription("");
        menuItem.addActionListener(this);
        editmenu.add(menuItem);
        menuItem = new JMenuItem("Redo",KeyEvent.VK_R);
        menuItem.getAccessibleContext().setAccessibleDescription("");
        menuItem.addActionListener(this);
        editmenu.add(menuItem);
        editsubmenu = new JMenu("Expand Selection To");
        editsubmenu.setMnemonic(KeyEvent.VK_X);
        editsubmenu.addActionListener(this);
        editmenu.add(editsubmenu);

        menuItem = new JMenuItem("Enclosing Element");
        menuItem.getAccessibleContext().setAccessibleDescription("");
        menuItem.addActionListener(this);
        editsubmenu.add(menuItem);

        menuItem = new JMenuItem("Next Element");
        menuItem.getAccessibleContext().setAccessibleDescription("");
        menuItem.addActionListener(this);
        editsubmenu.add(menuItem);

        menuItem = new JMenuItem("Previous Element");
        menuItem.getAccessibleContext().setAccessibleDescription("");
        menuItem.addActionListener(this);
        editsubmenu.add(menuItem);

        return menuBar;
    }


    private static void createAndShowGUI() {

        JFrame frame = new JFrame("A Simple Menu");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        SimpleMenu smenu = new SimpleMenu();
        frame.setJMenuBar(smenu.createMenuBar());

        /* show frame */
        frame.pack();
        frame.setSize(400,300);
        frame.setVisible(true);
    }

    public static void main(String[] args) {

        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createAndShowGUI();
            }
        });
    }

    @Override
    public void itemStateChanged(ItemEvent e) { }

    @Override
    public void actionPerformed(ActionEvent e) {

        JMenuItem jmi = (JMenuItem)e.getSource();
        System.out.println("menu item clicked: " + jmi.getText());
        if (jmi.getText().equalsIgnoreCase("close")) {
            System.exit(0);
        }

    }
}

没问题,很高兴我能帮忙:)