📄 mainmenu.java
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
public class MainMenu extends JPanel{
/** Identifies the Game->Start menu item.*/
public final static int GAME_START_ID = 0;
/** Identifies the Game->Stop menu item.*/
public final static int GAME_STOP_ID = 1;
/** Identifies the Game->Auto menu item.*/
public final static int GAME_AUTO_ID = 2;
/** Identifies the Help->Game Help menu item.*/
public final static int GAME_HELP_ID = 3;
private ActionListener parentEventProcessor;
private MainMenu thisClass;
private JMenuItem gameStartMenuItem;
private JMenuItem gameStopMenuItem;
private JMenuItem gameAutoMenuItem;
private JMenuItem gameHelpMenuItem;
private JButton gameStartToolbarItem;
private JButton gameStopToolbarItem;
private JButton gameAutoToolbarItem;
public MainMenu(ActionListener parentListener){
JMenu gamePulldown;
JMenu helpPulldown;
JMenuItem mi;
JButton button;
JMenuBar menuBar;
JToolBar toolBar;
setLayout(new BorderLayout());
add(menuBar = new JMenuBar(),BorderLayout.NORTH);
add(toolBar = new JToolBar(),BorderLayout.SOUTH);
toolBar.setFloatable(true);
thisClass = this;
parentEventProcessor = parentListener;
MenuActionListener menuEventProcessor = new MenuActionListener();
toolBar.add(gameStartToolbarItem = createToolBarButton (
"GameStart",7,menuEventProcessor,"GameStart","courier"));
toolBar.add(gameStopToolbarItem = createToolBarButton (
"GameStop",8,menuEventProcessor,"GameStop","courier"));
toolBar.add(gameAutoToolbarItem = createToolBarButton (
"AutoRun",9,menuEventProcessor,"GameAuto","courier"));
gamePulldown = (JMenu) menuBar.add(new JMenu("Game"));
gamePulldown.setMnemonic('G');
gameStartMenuItem = (JMenuItem) gamePulldown.add(new JMenuItem("Start"));
gameStartMenuItem.setMnemonic('S');
gameStartMenuItem.addActionListener(menuEventProcessor);
gameStartMenuItem.setActionCommand("GameStart");
gameStopMenuItem = (JMenuItem) gamePulldown.add(new JMenuItem("Stop"));
gameStopMenuItem.setMnemonic('T');
gameStopMenuItem.addActionListener(menuEventProcessor);
gameStopMenuItem.setActionCommand("GameStop");
gamePulldown.add(new JSeparator());
gameAutoMenuItem = (JMenuItem) gamePulldown.add(new JMenuItem("Auto"));
gameAutoMenuItem.setMnemonic('U');
gameAutoMenuItem.addActionListener(menuEventProcessor);
gameAutoMenuItem.setActionCommand("GameAuto");
menuBar.add(helpPulldown = new JMenu("Help"),BorderLayout.EAST);
helpPulldown.setMnemonic('H');
gameHelpMenuItem = (JMenuItem) helpPulldown.add(new JMenuItem("About"));
gameHelpMenuItem.setMnemonic('A');
gameHelpMenuItem.addActionListener(menuEventProcessor);
gameHelpMenuItem.setActionCommand("GameHelp");
}
private class MenuActionListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
if (parentEventProcessor != null) {
if (e.getActionCommand().equals("GameStart")) {
parentEventProcessor.actionPerformed(
new ActionEvent(thisClass,GAME_START_ID,e.getActionCommand()));
}
else if (e.getActionCommand().equals("GameStop")) {
parentEventProcessor.actionPerformed (
new ActionEvent(thisClass,GAME_STOP_ID,e.getActionCommand()));
}
else if (e.getActionCommand().equals("GameAuto")) {
parentEventProcessor.actionPerformed (
new ActionEvent(thisClass,GAME_AUTO_ID,e.getActionCommand()));
}
else if (e.getActionCommand().equals("GameHelp")) {
parentEventProcessor.actionPerformed (
new ActionEvent(thisClass,GAME_HELP_ID,e.getActionCommand()));
}
}
}
}
private JButton createToolBarButton (String buttonText,
int buttonNumber,
ActionListener buttonAction,
String actionID,
String fontName) {
JButton button = new JButton();
button.setToolTipText (buttonText);
button.addActionListener(buttonAction);
button.setActionCommand(actionID);
button.setIcon(ImageFactory.getInstance().getImageicon(buttonNumber));
return button;
}
public void setMenuItemAvailabilty (boolean[] menuItems) {
if (menuItems.length == 2) {
gameStartMenuItem.setEnabled (menuItems[GAME_START_ID]);
gameStartToolbarItem.setEnabled (menuItems[GAME_START_ID]);
gameStopMenuItem.setEnabled (menuItems[GAME_STOP_ID]);
gameStopToolbarItem.setEnabled (menuItems[GAME_STOP_ID]);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -