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

📄 commonmenubar.java

📁 MegaMek is a networked Java clone of BattleTech, a turn-based sci-fi boardgame for 2+ players. Fight
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
/* * MegaMek - Copyright (C) 2003,2004,2005 Ben Mazur (bmazur@sev.org) *  This program is free software; you can redistribute it and/or modify it *  under the terms of the GNU General Public License as published by the Free *  Software Foundation; either version 2 of the License, or (at your option) *  any later version. * *  This program is distributed in the hope that it will be useful, but *  WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *  or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License *  for more details. */package megamek.client.ui.swing;import megamek.client.Client;import megamek.common.Entity;import megamek.common.IGame;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JMenu;import javax.swing.KeyStroke;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyEvent;import java.util.Enumeration;import java.util.Vector;/** * Every menu bar in MegaMek should have an identical look-and-feel, * with various menu items enabled or disabled, based upon the frame * that owns the menu bar, and the current state of the program. */public class CommonMenuBar extends JMenuBar implements ActionListener {    /**     * The <code>Game</code> current selected.     * This value may be <code>null</code>.     */    private IGame game;    private JMenuItem fileGameNew;    private JMenuItem fileGameOpen;    private JMenuItem fileGameSave;    private JMenuItem fileGameScenario;    private JMenuItem fileGameConnectBot;    private JMenuItem fileGameConnect;    /**     * When we have a <code>Board</code>, set this to <code>true</code>.     */    private boolean hasBoard;    private JMenuItem fileBoardNew;    private JMenuItem fileBoardOpen;    private JMenuItem fileBoardSave;    private JMenuItem fileBoardSaveAs;    private JMenuItem fileBoardSaveAsImage;    /**     * When we have a unit list, set this to <code>true</code>.     */    private boolean hasUnitList;    private JMenuItem fileUnitsOpen;    private JMenuItem fileUnitsClear;    private JMenuItem fileUnitsSave;    /**     * The <code>Entity</code> current selected.     * This value may be <code>null</code>.     */    private Entity entity;    /**     * Record the current phase of the game.     */    private int phase = IGame.PHASE_UNKNOWN;    private JMenuItem filePrint;    private JMenuItem viewMiniMap;    private JMenuItem viewMekDisplay;    private JMenuItem viewZoomIn;    private JMenuItem viewZoomOut;    private JMenuItem viewLOSSetting;    private JMenuItem viewUnitOverview;    private JMenuItem viewRoundReport;    private JMenuItem viewGameOptions;    private JMenuItem viewClientSettings;    private JMenuItem viewPlayerList;    private JMenuItem deployMinesConventional;    private JMenuItem deployMinesCommand;    private JMenuItem deployMinesVibrabomb;    private JMenuItem deployNext;    private JMenuItem deployTurn;    private JMenuItem deployLoad;    private JMenuItem deployUnload;    private JMenuItem deployRemove;    private JMenuItem deployAssaultDrop;    private JMenuItem moveWalk;    private JMenuItem moveNext;    private JMenuItem moveTurn;    private JMenuItem moveLayMine;    private JMenuItem moveLoad;    private JMenuItem moveUnload;    private JMenuItem moveJump;    private JMenuItem moveSwim;    private JMenuItem moveBackUp;    private JMenuItem moveCharge;    private JMenuItem moveDFA;    private JMenuItem moveGoProne;    private JMenuItem moveFlee;    private JMenuItem moveEject;    private JMenuItem moveUnjam;    private JMenuItem moveSearchlight;    private JMenuItem moveClear;    private JMenuItem moveHullDown;    private JMenuItem moveGetUp;    private JMenuItem moveRaise;    private JMenuItem moveLower;    private JMenuItem fireFire;    private JMenuItem fireSkip;    private JMenuItem fireNextTarg;    private JMenuItem fireNext;    private JMenuItem fireTwist;    private JMenuItem fireFlipArms;    private JMenuItem fireMode;    private JMenuItem fireFindClub;    private JMenuItem fireSpot;    private JMenuItem fireSearchlight;    private JMenuItem fireCancel;    private JMenuItem physicalNext;    private JMenuItem physicalPunch;    private JMenuItem physicalKick;    private JMenuItem physicalPush;    private JMenuItem physicalClub;    private JMenuItem physicalBrushOff;    private JMenuItem physicalDodge;    private JMenuItem physicalThrash;    private JMenuItem physicalProto;    private Client client;    /**     * A <code>Vector</code> containing the <code>ActionListener</code>s     * that have registered themselves with this menu bar.     */    private final Vector actionListeners = new Vector();    /**     * Create a MegaMek menu bar.     */    public CommonMenuBar(Client parent) {        this();        client = parent;    }    public CommonMenuBar() {        JMenu menu = null;        JMenu submenu = null;        JMenuItem item = null;        // *** Create the File menu.        menu = new JMenu(Messages.getString("CommonMenuBar.FileMenu")); //$NON-NLS-1$        menu.setMnemonic(KeyEvent.VK_F);        add(menu);        // Create the Game sub-menu.        submenu = new JMenu(Messages.getString("CommonMenuBar.GameMenu")); //$NON-NLS-1$        menu.add(submenu);        fileGameNew = new JMenuItem(Messages.getString("CommonMenuBar.fileGameNew")); //$NON-NLS-1$        fileGameNew.addActionListener(this);        fileGameNew.setActionCommand("fileGameNew"); //$NON-NLS-1$        fileGameNew.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, getToolkit().getMenuShortcutKeyMask()));        submenu.add(fileGameNew);        fileGameOpen = new JMenuItem(Messages.getString("CommonMenuBar.fileGameOpen")); //$NON-NLS-1$        fileGameOpen.addActionListener(this);        fileGameOpen.setActionCommand("fileGameOpen"); //$NON-NLS-1$        submenu.add(fileGameOpen);        fileGameSave = new JMenuItem(Messages.getString("CommonMenuBar.fileGameSave")); //$NON-NLS-1$        fileGameSave.addActionListener(this);        fileGameSave.setActionCommand("fileGameSave"); //$NON-NLS-1$        submenu.add(fileGameSave);        submenu.addSeparator();        fileGameScenario = new JMenuItem(Messages.getString("CommonMenuBar.fileGameScenario")); //$NON-NLS-1$        fileGameScenario.addActionListener(this);        fileGameScenario.setActionCommand("fileGameScenario"); //$NON-NLS-1$        submenu.add(fileGameScenario);        submenu.addSeparator();        fileGameConnectBot = new JMenuItem(Messages.getString("CommonMenuBar.fileGameConnectBot")); //$NON-NLS-1$        fileGameConnectBot.addActionListener(this);        fileGameConnectBot.setActionCommand("fileGameConnectBot"); //$NON-NLS-1$        submenu.add(fileGameConnectBot);        fileGameConnect = new JMenuItem(Messages.getString("CommonMenuBar.fileGameConnect")); //$NON-NLS-1$        fileGameConnect.addActionListener(this);        fileGameConnect.setActionCommand("fileGameConnect"); //$NON-NLS-1$        submenu.add(fileGameConnect);        // Create the Board sub-menu.        submenu = new JMenu(Messages.getString("CommonMenuBar.BoardMenu")); //$NON-NLS-1$        menu.add(submenu);        fileBoardNew = new JMenuItem(Messages.getString("CommonMenuBar.fileBoardNew")); //$NON-NLS-1$        fileBoardNew.addActionListener(this);        fileBoardNew.setActionCommand("fileBoardNew"); //$NON-NLS-1$        submenu.add(fileBoardNew);        fileBoardOpen = new JMenuItem(Messages.getString("CommonMenuBar.fileBoardOpen")); //$NON-NLS-1$        fileBoardOpen.addActionListener(this);        fileBoardOpen.setActionCommand("fileBoardOpen"); //$NON-NLS-1$        submenu.add(fileBoardOpen);        fileBoardSave = new JMenuItem(Messages.getString("CommonMenuBar.fileBoardSave")); //$NON-NLS-1$        fileBoardSave.addActionListener(this);        fileBoardSave.setActionCommand("fileBoardSave"); //$NON-NLS-1$        submenu.add(fileBoardSave);        fileBoardSaveAs = new JMenuItem(Messages.getString("CommonMenuBar.fileBoardSaveAs")); //$NON-NLS-1$        fileBoardSaveAs.addActionListener(this);        fileBoardSaveAs.setActionCommand("fileBoardSaveAs"); //$NON-NLS-1$        submenu.add(fileBoardSaveAs);        fileBoardSaveAsImage = new JMenuItem(Messages.getString("CommonMenuBar.fileBoardSaveAsImage")); //$NON-NLS-1$        fileBoardSaveAsImage.addActionListener(this);        fileBoardSaveAsImage.setActionCommand("fileBoardSaveAsImage"); //$NON-NLS-1$        submenu.add(fileBoardSaveAsImage);        // Create the Unit List sub-menu.        submenu = new JMenu(Messages.getString("CommonMenuBar.UnitListMenu")); //$NON-NLS-1$        menu.add(submenu);        fileUnitsOpen = new JMenuItem(Messages.getString("CommonMenuBar.fileUnitsOpen")); //$NON-NLS-1$        fileUnitsOpen.addActionListener(this);        fileUnitsOpen.setActionCommand("fileUnitsOpen"); //$NON-NLS-1$        submenu.add(fileUnitsOpen);        fileUnitsClear = new JMenuItem(Messages.getString("CommonMenuBar.fileUnitsClear")); //$NON-NLS-1$        fileUnitsClear.addActionListener(this);        fileUnitsClear.setActionCommand("fileUnitsClear"); //$NON-NLS-1$        submenu.add(fileUnitsClear);        fileUnitsSave = new JMenuItem(Messages.getString("CommonMenuBar.fileUnitsSave")); //$NON-NLS-1$        fileUnitsSave.addActionListener(this);        fileUnitsSave.setActionCommand("fileUnitsSave"); //$NON-NLS-1$        submenu.add(fileUnitsSave);        // Finish off the File menu.        filePrint = new JMenuItem(Messages.getString("CommonMenuBar.PrintMenu")); //$NON-NLS-1$        filePrint.addActionListener(this);        filePrint.setActionCommand("filePrint"); //$NON-NLS-1$        filePrint.setEnabled(false);        menu.addSeparator();        menu.add(filePrint);        // *** Create the view menu.        menu = new JMenu(Messages.getString("CommonMenuBar.ViewMenu")); //$NON-NLS-1$        menu.setMnemonic(KeyEvent.VK_V);        add(menu);        viewMekDisplay = new JMenuItem(Messages.getString("CommonMenuBar.viewMekDisplay")); //$NON-NLS-1$        viewMekDisplay.addActionListener(this);        viewMekDisplay.setActionCommand(ClientGUI.VIEW_MEK_DISPLAY);        viewMekDisplay.setMnemonic(KeyEvent.VK_D);        viewMekDisplay.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D, getToolkit().getMenuShortcutKeyMask()));        menu.add(viewMekDisplay);        viewMiniMap = new JMenuItem(Messages.getString("CommonMenuBar.viewMiniMap")); //$NON-NLS-1$        viewMiniMap.addActionListener(this);        viewMiniMap.setActionCommand(ClientGUI.VIEW_MINI_MAP);        viewMiniMap.setMnemonic(KeyEvent.VK_M);        viewMiniMap.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_M, getToolkit().getMenuShortcutKeyMask()));        menu.add(viewMiniMap);        viewUnitOverview = new JMenuItem(Messages.getString("CommonMenuBar.viewUnitOverview")); //$NON-NLS-1$        viewUnitOverview.addActionListener(this);        viewUnitOverview.setActionCommand(ClientGUI.VIEW_UNIT_OVERVIEW);        viewUnitOverview.setMnemonic(KeyEvent.VK_U);        viewUnitOverview.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U, getToolkit().getMenuShortcutKeyMask()));        menu.add(viewUnitOverview);        viewZoomIn = new JMenuItem(Messages.getString("CommonMenuBar.viewZoomIn")); //$NON-NLS-1$        viewZoomIn.addActionListener(this);        viewZoomIn.setActionCommand(ClientGUI.VIEW_ZOOM_IN);        menu.add(viewZoomIn);        viewZoomOut = new JMenuItem(Messages.getString("CommonMenuBar.viewZoomOut")); //$NON-NLS-1$        viewZoomOut.addActionListener(this);        viewZoomOut.setActionCommand(ClientGUI.VIEW_ZOOM_OUT);        menu.add(viewZoomOut);        menu.addSeparator();        viewRoundReport = new JMenuItem(Messages.getString("CommonMenuBar.viewRoundReport")); //$NON-NLS-1$        viewRoundReport.addActionListener(this);        viewRoundReport.setActionCommand("viewRoundReport"); //$NON-NLS-1$        viewRoundReport.setMnemonic(KeyEvent.VK_R);        viewRoundReport.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_R, getToolkit().getMenuShortcutKeyMask()));        menu.add(viewRoundReport);        menu.addSeparator();        viewGameOptions = new JMenuItem(Messages.getString("CommonMenuBar.viewGameOptions")); //$NON-NLS-1$        viewGameOptions.setActionCommand("viewGameOptions"); //$NON-NLS-1$        viewGameOptions.addActionListener(this);        menu.add(viewGameOptions);        viewClientSettings = new JMenuItem(Messages.getString("CommonMenuBar.viewClientSettings")); //$NON-NLS-1$        viewClientSettings.setActionCommand("viewClientSettings"); //$NON-NLS-1$        viewClientSettings.addActionListener(this);        menu.add(viewClientSettings);        viewLOSSetting = new JMenuItem(Messages.getString("CommonMenuBar.viewLOSSetting")); //$NON-NLS-1$        viewLOSSetting.addActionListener(this);        viewLOSSetting.setActionCommand(ClientGUI.VIEW_LOS_SETTING);        viewLOSSetting.setMnemonic(KeyEvent.VK_L);        viewLOSSetting.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_L, getToolkit().getMenuShortcutKeyMask()));        menu.add(viewLOSSetting);        menu.addSeparator();        viewPlayerList = new JMenuItem(Messages.getString("CommonMenuBar.viewPlayerList")); //$NON-NLS-1$        viewPlayerList.setActionCommand("viewPlayerList"); //$NON-NLS-1$        viewPlayerList.addActionListener(this);        menu.add(viewPlayerList);        // *** Create the deployo menu.        menu = new JMenu(Messages.getString("CommonMenuBar.DeployMenu")); //$NON-NLS-1$        menu.setMnemonic(KeyEvent.VK_D);        add(menu);

⌨️ 快捷键说明

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