⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 menucontroller.java

📁 一个完全实现的扫雷程序
💻 JAVA
字号:
package mine.control;

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import mine.model.*;
import mine.*;
import mine.listener.*;
import mine.view.*;

public class MenuController {
    ModelAction gamemodelaction;
    Frame frameMenuOn;
    JMenu gameMenu = new JMenu("游戏(G)");
    JMenuItem jmiStart = new JMenuItem("开局(N)");
    ActionListener jmiStartAction;
    JRadioButtonMenuItem level1 = new JRadioButtonMenuItem("初级(B)");
    ActionListener level1Action;
    JRadioButtonMenuItem level2 = new JRadioButtonMenuItem("中级(I)");
    ActionListener level2Action;
    JRadioButtonMenuItem level3 = new JRadioButtonMenuItem("高级(E)");
    ActionListener level3Action;
    JRadioButtonMenuItem level0 = new JRadioButtonMenuItem("自定义(C)");
    ActionListener level0Action;
    JCheckBoxMenuItem checkusemark = new JCheckBoxMenuItem("使用标记");
    ActionListener checkusermarkAction;
    JMenuItem jmiExit = new JMenuItem("退出(X)");
    ActionListener jmiExitAction;
    JMenuItem heroMenuitem = new JMenuItem("扫雷英雄榜");
    ActionListener heroAction;
    JMenu helpMenu = new JMenu("帮助(H)");
    ButtonGroup levelGroup = new ButtonGroup();
    JMenuItem about = new JMenuItem("关于(A)");
    ActionListener aboutAction;
    JMenuBar jmenubar = new JMenuBar();
    GameConfigure gameconfig = GameConfigure.getInstance();
    public MenuController() {
        initMenu();
    }

    public void setFrameMenuOn(Frame frame) {
        frameMenuOn = frame;
    }

    public void initMenu() {
        jmenubar.setBorder(BorderFactory.createLineBorder(Color.lightGray, 2));
        gameMenu.setMnemonic('G');
        level1.setMnemonic('B');
        level2.setMnemonic('I');
        level3.setMnemonic('E');
        level0.setMnemonic('C');
        jmiExit.setMnemonic('X');
        checkusemark.setSelected(true);
        checkusemark.setMnemonic('M');
        heroMenuitem.setMnemonic('T');
        levelGroup.add(level1);
        levelGroup.add(level2);
        levelGroup.add(level3);
        levelGroup.add(level0);
        helpMenu.setMnemonic('H');
        about.setMnemonic('A');
        //-------------组装菜单
        jmenubar.add(gameMenu);
        jmenubar.add(helpMenu);
        gameMenu.add(jmiStart);
        gameMenu.addSeparator();
        gameMenu.add(level1);
        gameMenu.add(level2);
        gameMenu.add(level3);
        gameMenu.add(level0);
        gameMenu.addSeparator();
        gameMenu.add(checkusemark);
        gameMenu.addSeparator();
        gameMenu.add(heroMenuitem);
        gameMenu.addSeparator();
        gameMenu.add(jmiExit);
        helpMenu.add(about);
//----------------根据gameconfigure初始化菜单
        int level = gameconfig.getLevel();
        switch (level) {
            case 1:
                level1.setSelected(true);
                break;
            case 2:
                level2.setSelected(true);
                break;
            case 3:
                level3.setSelected(true);
                break;
            case 0:
                level0.setSelected(true);
                break;
        }

        boolean usemark = gameconfig.isUseMark();
        checkusemark.setSelected(usemark);

        //--------------------菜单动作
        initAction();
    }

    private void initAction() {
        jmiStartAction = new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                gamemodelaction.startGame();
            }
        };
        jmiStart.addActionListener(jmiStartAction);
        //-------------------------
        level1Action = new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                level1.setSelected(true);
                gamemodelaction.setGameLevel(1);
                gamemodelaction.startGame();
            }
        };
        level1.addActionListener(level1Action);
        //-------------------------
        level2Action = new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                level2.setSelected(true);
                gamemodelaction.setGameLevel(2);
                gamemodelaction.startGame();
            }
        };
        level2.addActionListener(level2Action);
        //-------------------------
        level3Action = new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                level3.setSelected(true);
                gamemodelaction.setGameLevel(3);
                gamemodelaction.startGame();
            }
        };
        level3.addActionListener(level3Action);

        //-------------------------
        level0Action = new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                level0.setSelected(true);
                gamemodelaction.setGameLevel(0);
                CustomDialog cd = new CustomDialog(frameMenuOn);
                cd.show();
                gamemodelaction.startGame();
            }
        };
        level0.addActionListener(level0Action);
        //-------------------------
        checkusermarkAction = new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                gameconfig.setUseMark(!gameconfig.isUseMark());
                checkusemark.setSelected(gameconfig.isUseMark());
            }
        };
        checkusemark.addActionListener(checkusermarkAction);
        //--------------------------
        jmiExitAction = new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                gamemodelaction.exitGame();
            }
        };
        jmiExit.addActionListener(jmiExitAction);
        //-------------------------------
        heroAction = new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                HeroDialog hd = new HeroDialog(frameMenuOn);
                hd.show();
            }
        };
        heroMenuitem.addActionListener(heroAction);
        //----------------------
        aboutAction = new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                AboutDialog aboutdialog = new AboutDialog(frameMenuOn);
                aboutdialog.show(true);
            }
        };
        about.addActionListener(aboutAction);
    }

    public void setModelAction(ModelAction modelaction) {
        this.gamemodelaction = modelaction;
    }

    public JMenuBar getMenubar() {
        return jmenubar;
        //-------------------------------
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -