Create the menu bar.
()
| 887 | * Create the menu bar. |
| 888 | */ |
| 889 | private void makeMenuBar() { |
| 890 | menuBar = new JMenuBar(); |
| 891 | gameMenu = new JMenu("Game"); |
| 892 | gameMenu.setMnemonic(KeyEvent.VK_G); |
| 893 | gameMenu.getAccessibleContext().setAccessibleDescription("This menu contains game options"); |
| 894 | menuBar.add(gameMenu); |
| 895 | JMenuItem newGameMenuItem = new JMenuItem("New...", KeyEvent.VK_N); |
| 896 | newGameMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); |
| 897 | newGameMenuItem.getAccessibleContext().setAccessibleDescription("Starts a new game"); |
| 898 | newGameMenuItem.addActionListener(new ActionListener() { |
| 899 | @Override |
| 900 | public void actionPerformed(ActionEvent arg0) { |
| 901 | newGame(); |
| 902 | } |
| 903 | }); |
| 904 | JMenuItem endGameMenuItem = new JMenuItem("End Game", KeyEvent.VK_E); |
| 905 | endGameMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); |
| 906 | endGameMenuItem.getAccessibleContext().setAccessibleDescription("Ends the current game"); |
| 907 | endGameMenuItem.addActionListener(new ActionListener() { |
| 908 | @Override |
| 909 | public void actionPerformed(ActionEvent arg0) { |
| 910 | endGame(); |
| 911 | } |
| 912 | }); |
| 913 | gameMenu.add(newGameMenuItem); |
| 914 | gameMenu.add(endGameMenuItem); |
| 915 | gameMenu.addSeparator(); |
| 916 | ButtonGroup difficultyGroup = new ButtonGroup(); |
| 917 | difficultySelection = new JRadioButtonMenuItem[NUMBER_OF_LEVELS]; |
| 918 | for (int i = 0; i < NUMBER_OF_LEVELS; i++) { |
| 919 | difficultySelection[i] = new JRadioButtonMenuItem(LEVEL_DESCRIPTION[i % LEVEL_DESCRIPTION.length]); // mod as a check against mismatched sizes |
| 920 | if (i == 0) difficultySelection[i].setSelected(true); |
| 921 | difficultySelection[i].setActionCommand(LEVEL_DESCRIPTION[i % LEVEL_DESCRIPTION.length]); |
| 922 | difficultySelection[i].addActionListener(new ActionListener() { |
| 923 | @Override |
| 924 | public void actionPerformed(ActionEvent ae) { |
| 925 | for (int i = 0; i < LEVEL_DESCRIPTION.length; i++) { |
| 926 | if (ae.getActionCommand().equals(LEVEL_DESCRIPTION[i])) { |
| 927 | gameDifficulty = i; |
| 928 | //endGame(); |
| 929 | newGame(); |
| 930 | break; |
| 931 | } |
| 932 | } |
| 933 | } |
| 934 | }); |
| 935 | difficultyGroup.add(difficultySelection[i]); |
| 936 | gameMenu.add(difficultySelection[i]); |
| 937 | } |
| 938 | JMenuItem quitMenuItem = new JMenuItem("Quit", KeyEvent.VK_Q); |
| 939 | quitMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); |
| 940 | quitMenuItem.getAccessibleContext().setAccessibleDescription("Quits the program"); |
| 941 | quitMenuItem.addActionListener(new ActionListener() { |
| 942 | @Override |
| 943 | public void actionPerformed(ActionEvent arg0) { |
| 944 | timer.cancel(); |
| 945 | System.exit(0); |
| 946 | } |