Swing 下拉菜单怎么用

2025-11-18 21:35:20

1、构造方法1:

创建一个无文本的 JMenu 对象

JMenu menu=new JMenu();

构造方法2:

创建一个带有指定文本的 JMenu 对象

JMenu menu=new JMenu("文件");

1、常用方法如下图:

Swing 下拉菜单怎么用

1、创建文件菜单,文件菜单下包含:新建、打开、保存和退出这4个菜单项

Swing 下拉菜单怎么用

2、创建编辑菜单,编辑菜单下包含:撤销、剪贴、复制和自动换行这4个菜单项

Swing 下拉菜单怎么用

3、把菜单加入到窗口中:

frame.setJMenuBar(JMenuBar jMenuBar);

Swing 下拉菜单怎么用

Swing 下拉菜单怎么用

Swing 下拉菜单怎么用

4、Demo25_JMenuBar 类的代码如下:

public class Demo25_JMenuBar extends JMenuBar{

public static void main(String[] args) {

JFrame frame=new JFrame("菜单栏");

        frame.setSize(300,200);

        frame.setJMenuBar(new Demo25_JMenuBar());

        SwingUtils.setCenter(frame);//设置窗体大小600*800并居中

        frame.setVisible(true);

}

public Demo25_JMenuBar() {

add(createFileMenu());    //添加“文件”菜单

        add(createEditMenu());    //添加“编辑”菜单

        setVisible(true);

}

//定义“文件”菜单

    private JMenu createFileMenu(){

        JMenu menu=new JMenu("文件(F)");

        menu.setMnemonic(KeyEvent.VK_F);    //设置快速访问符

        JMenuItem item=new JMenuItem("新建(N)",KeyEvent.VK_N);

        item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,ActionEvent.CTRL_MASK));

        menu.add(item);

        item=new JMenuItem("打开(O)",KeyEvent.VK_O);

        item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,ActionEvent.CTRL_MASK));

        menu.add(item);

        item=new JMenuItem("保存(S)",KeyEvent.VK_S);

        item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,ActionEvent.CTRL_MASK));

        menu.add(item);

        menu.addSeparator();

        item=new JMenuItem("退出(E)",KeyEvent.VK_E);

        item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E,ActionEvent.CTRL_MASK));

        menu.add(item);

        return menu;

    }

    //定义“编辑”菜单

    private JMenu createEditMenu(){

        JMenu menu=new JMenu("编辑(E)");

        menu.setMnemonic(KeyEvent.VK_E);

        JMenuItem item=new JMenuItem("撤销(U)",KeyEvent.VK_U);

        item.setEnabled(false);

        menu.add(item);

        menu.addSeparator();

        item=new JMenuItem("剪贴(T)",KeyEvent.VK_T);

        menu.add(item);

        item=new JMenuItem("复制(C)",KeyEvent.VK_C);

        menu.add(item);

        menu.addSeparator();

        JCheckBoxMenuItem cbMenuItem=new JCheckBoxMenuItem("自动换行");

        menu.add(cbMenuItem);

        return menu;

    }

}

5、SwingUtils 类的代码如下:

public class SwingUtils {

public static void setCenter(JFrame jf) {

int screenWidth=Toolkit.getDefaultToolkit().getScreenSize().width;

int screenHeight=Toolkit.getDefaultToolkit().getScreenSize().height; 

int jframeWidth = 800;

int jframeHeight = 600;

jf.setBounds((screenWidth/2)-(jframeWidth/2), (screenHeight/2)-(jframeHeight/2), 

        jframeWidth, jframeHeight);

}

}

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢