Java实现拼图小游戏(2)——菜单搭建(有关Java中的JMenuBar知识点)
菜單搭建
- 一、前言
- 二、搭建步驟
- 1. 創(chuàng)建JMenuBar
- 2. 創(chuàng)建Jmenu
- 3. 創(chuàng)建JMenuItem
- 4. 將JMenuItem放到Jmenu中
- 5. 將Jmenu放到JMeanuBar中
- 6. 將JMenuBar添加到整個JFrame中
- 三、完整代碼
- 四、優(yōu)化代碼
- 五、結(jié)語
一、前言
本文主要是實(shí)現(xiàn)拼圖小游戲中的菜單搭建
二、搭建步驟
1. 創(chuàng)建JMenuBar
JMenuBar的中文含義是菜單欄,也就是我們會在小游戲最上面那一欄看到的東西,在小游戲中我們的菜單欄如下所示
要創(chuàng)建菜單欄,就要new一個對象
2. 創(chuàng)建Jmenu
Menu類表示從菜單欄部署的下拉菜單組件,在本游戲中有兩個:功能和關(guān)于我們,那么我們也要自定義一個變量名來寫這兩個菜單組件,此處為了能夠見名知意,我們將兩個變量名設(shè)置functionJMenu和aboutJMenu,如果讀者想要設(shè)置為其它名字也是可以的,括號內(nèi)只需要傳遞參數(shù)(名字)即可
3. 創(chuàng)建JMenuItem
同樣,我們要new一個對象,并在括號內(nèi)傳遞參數(shù)(名字)
JMenuItem restartItem = new JMenuItem("重新游戲"); JMenuItem reloginItem = new JMenuItem("重新登錄"); JMenuItem closeItem = new JMenuItem("關(guān)閉游戲"); JMenuItem accountItem = new JMenuItem("公眾號");4. 將JMenuItem放到Jmenu中
當(dāng)我們創(chuàng)建完了下拉菜單中的內(nèi)容時,我們要將下拉菜單中的內(nèi)容放到菜單中,這樣才能實(shí)現(xiàn)下圖的效果,要注意的是下拉菜單中的內(nèi)容要添加到對應(yīng)的菜單中,要看清楚括號內(nèi)傳遞的參數(shù),此處括號內(nèi)傳遞的參數(shù)是上文提到的新的對象
這里我們使用add函數(shù)來實(shí)現(xiàn)
5. 將Jmenu放到JMeanuBar中
創(chuàng)建完了菜單以后,要把菜單(剛剛被我們定義的 functionJMenu 和 aboutJMenu )放到菜單欄里,這樣菜單欄里面才會有兩個單獨(dú)的菜單,效果如下圖所示
同樣,我們使用add函數(shù)來實(shí)現(xiàn)
6. 將JMenuBar添加到整個JFrame中
由于我們現(xiàn)在所寫的一切東西都是要能夠在屏幕上看到的,而JFrame是屏幕上window的對象,有了它才能有可視化界面,所以給我們要整個界面設(shè)置菜單,將JMenuBar添加到整個JFrame中,這樣才能在界面中有一個單獨(dú)一欄的菜單欄
這里我們使用set函數(shù)來設(shè)置JMenuBar
三、完整代碼
import javax.swing.*;public class GameJFrame extends JFrame {public GameJFrame(){//設(shè)置界面大小this.setSize(603,680);//設(shè)置標(biāo)題this.setTitle("拼圖小游戲 V1.0");//設(shè)置永遠(yuǎn)置頂this.setAlwaysOnTop(true);//設(shè)置程序隨著窗口關(guān)閉而結(jié)束運(yùn)行//this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);this.setDefaultCloseOperation(3);//設(shè)置界面居中this.setLocationRelativeTo(null);//初始化菜單//創(chuàng)建整個菜單對象(創(chuàng)建JMenuBar)JMenuBar jMenuBar = new JMenuBar();//創(chuàng)建"功能"和"關(guān)于我們"(創(chuàng)建JMenu)JMenu functionJMenu = new JMenu("功能");JMenu aboutJMenu = new JMenu("關(guān)于我們");//創(chuàng)建菜單下條目(創(chuàng)建JMenuItem)JMenuItem restartItem = new JMenuItem("重新游戲");JMenuItem reloginItem = new JMenuItem("重新登錄");JMenuItem closeItem = new JMenuItem("關(guān)閉游戲");JMenuItem accountItem = new JMenuItem("公眾號");//將"功能"下條目添加到"功能"里(將JMenuItem放到JMenu中)functionJMenu.add(restartItem);functionJMenu.add(reloginItem);functionJMenu.add(closeItem);aboutJMenu.add(accountItem);//將"關(guān)于我們"下條目添加到"關(guān)于我們"里//將JMenu放到JMenuBar中jMenuBar.add(functionJMenu);jMenuBar.add(aboutJMenu);//給整個界面設(shè)置菜單,將JMenuBar添加到整個JFrame中this.setJMenuBar(jMenuBar);//設(shè)置可視化界面this.setVisible(true);} }四、優(yōu)化代碼
如果我們的需求發(fā)生了變化需要改變代碼的話,我們需要一條條看代碼并修改,這樣效率非常低,那么我們就需要把實(shí)現(xiàn)一個功能的代碼全部都打包放到一個方法中,這樣我們?nèi)绻枰薷哪骋粋€功能的時候,只需要去相應(yīng)的方法中修改即可
在IDEA中,我們選中需要打包的代碼,使用快捷鍵Ctrl+Alt+M可以直接打包生成一個類
我們只需要寫一個方法名即可生成
這樣的話我們的代碼就會簡潔很多,而且修改起來也會非常方便
五、結(jié)語
在寫這個程序的時候,會遇到搭建菜單但是無法實(shí)現(xiàn)的問題,如果讀者遇到了同樣的問題,可以點(diǎn)擊下方鏈接查看解決方法
【搭建完菜單后運(yùn)行不顯示菜單的原因及其解決方法(拼圖小游戲)】
總結(jié)
以上是生活随笔為你收集整理的Java实现拼图小游戏(2)——菜单搭建(有关Java中的JMenuBar知识点)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VPS打SP2补丁的修复方法
- 下一篇: Java版打飞机小游戏