MCPcopy Create free account
hub / github.com/MolinDeng/Princeton-algs4 / makeMenuBar

Method makeMenuBar

LabEnv/09Lab/BoggleGame.java:889–951  ·  view source on GitHub ↗

Create the menu bar.

()

Source from the content-addressed store, hash-verified

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 }

Callers 1

BoggleGameMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected