Java实现拼图小游戏(2)——菜单搭建(有关Java中的JMenuBar知识点)

一、前言

本文主要是实现拼图小游戏中的菜单搭建

二、搭建步骤

1. 创建JMenuBar

JMenuBar的中文含义是菜单栏,也就是我们会在小游戏最上面那一栏看到的东西,在小游戏中我们的菜单栏如下所示
在这里插入图片描述
要创建菜单栏,就要new一个对象

JMenuBar jMenuBar = new JMenuBar();

2. 创建Jmenu

Menu类表示从菜单栏部署的下拉菜单组件,在本游戏中有两个:功能和关于我们,那么我们也要自定义一个变量名来写这两个菜单组件,此处为了能够见名知意,我们将两个变量名设置functionJMenuaboutJMenu,如果读者想要设置为其它名字也是可以的,括号内只需要传递参数(名字)即可
在这里插入图片描述

JMenu functionJMenu = new JMenu("功能");
JMenu aboutJMenu = new JMenu("关于我们");

3. 创建JMenuItem

同样,我们要new一个对象,并在括号内传递参数(名字)

JMenuItem restartItem = new JMenuItem("重新游戏");
JMenuItem reloginItem = new JMenuItem("重新登录");
JMenuItem closeItem = new JMenuItem("关闭游戏");
JMenuItem accountItem = new JMenuItem("公众号");

4. 将JMenuItem放到Jmenu中

当我们创建完了下拉菜单中的内容时,我们要将下拉菜单中的内容放到菜单中,这样才能实现下图的效果,要注意的是下拉菜单中的内容要添加到对应的菜单中,要看清楚括号内传递的参数,此处括号内传递的参数是上文提到的新的对象
在这里插入图片描述
这里我们使用add函数来实现

functionJMenu.add(restartItem);
functionJMenu.add(reloginItem);
functionJMenu.add(closeItem);
aboutJMenu.add(accountItem);//将"关于我们"下条目添加到"关于我们"里

5. 将Jmenu放到JMeanuBar中

创建完了菜单以后,要把菜单(刚刚被我们定义的 functionJMenu 和 aboutJMenu )放到菜单栏里,这样菜单栏里面才会有两个单独的菜单,效果如下图所示
在这里插入图片描述
同样,我们使用add函数来实现

jMenuBar.add(functionJMenu);
jMenuBar.add(aboutJMenu);

6. 将JMenuBar添加到整个JFrame中

由于我们现在所写的一切东西都是要能够在屏幕上看到的,而JFrame是屏幕上window的对象,有了它才能有可视化界面,所以给我们要整个界面设置菜单,将JMenuBar添加到整个JFrame中,这样才能在界面中有一个单独一栏的菜单栏
这里我们使用set函数来设置JMenuBar

this.setJMenuBar(jMenuBar);

三、完整代码

import javax.swing.*;

public class GameJFrame extends JFrame {

    public  GameJFrame(){

        //设置界面大小
        this.setSize(603,680);

        //设置标题
        this.setTitle("拼图小游戏 V1.0");

        //设置永远置顶
        this.setAlwaysOnTop(true);

        //设置程序随着窗口关闭而结束运行
        //this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        this.setDefaultCloseOperation(3);

        //设置界面居中
        this.setLocationRelativeTo(null);


        //初始化菜单
        //创建整个菜单对象(创建JMenuBar)
        JMenuBar jMenuBar = new JMenuBar();

        //创建"功能"和"关于我们"(创建JMenu)
        JMenu functionJMenu = new JMenu("功能");
        JMenu aboutJMenu = new JMenu("关于我们");

        //创建菜单下条目(创建JMenuItem)

        JMenuItem restartItem = new JMenuItem("重新游戏");
        JMenuItem reloginItem = new JMenuItem("重新登录");
        JMenuItem closeItem = new JMenuItem("关闭游戏");
        JMenuItem accountItem = new JMenuItem("公众号");

        //将"功能"下条目添加到"功能"里(将JMenuItem放到JMenu中)

        functionJMenu.add(restartItem);
        functionJMenu.add(reloginItem);
        functionJMenu.add(closeItem);
        aboutJMenu.add(accountItem);//将"关于我们"下条目添加到"关于我们"里

        //将JMenu放到JMenuBar中
        jMenuBar.add(functionJMenu);
        jMenuBar.add(aboutJMenu);

        //给整个界面设置菜单,将JMenuBar添加到整个JFrame中
        this.setJMenuBar(jMenuBar);

        //设置可视化界面
        this.setVisible(true);

    }
}

四、优化代码

如果我们的需求发生了变化需要改变代码的话,我们需要一条条看代码并修改,这样效率非常低,那么我们就需要把实现一个功能的代码全部都打包放到一个方法中,这样我们如果需要修改某一个功能的时候,只需要去相应的方法中修改即可
在IDEA中,我们选中需要打包的代码,使用快捷键Ctrl+Alt+M可以直接打包生成一个类
在这里插入图片描述

我们只需要写一个方法名即可生成
在这里插入图片描述
这样的话我们的代码就会简洁很多,而且修改起来也会非常方便
在这里插入图片描述

五、结语

在写这个程序的时候,会遇到搭建菜单但是无法实现的问题,如果读者遇到了同样的问题,可以点击下方链接查看解决方法
搭建完菜单后运行不显示菜单的原因及其解决方法(拼图小游戏)

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alita11101_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值