Stan Stan - 25 days ago 16
Java Question

A Starting Menu for a simple game

I am making this small and simple game with Java, and when I start it up, it just starts the game without any menus or something. Now, I want to make it so that if I run the game, there comes a game menu, or starting menu, where you can select new game, and exit. But, how would I do this? I need some help with this.

Edit:

The game is in a 800x600 screen, and I want like, a menu that takes over the whole 800x600 screen, with just a "Start Game" and a "Exit" button.

Answer

The Swing tutorial on menus will be an excellent reference for you as you work through creating a menu.

Here is some sample code for creating a simple menu like you described, assuming your JFrame is called frame.

//Where the GUI is created:
JMenuBar menuBar;
JMenu menu;
JMenuItem menuItem;

//Create the menu bar.
menuBar = new JMenuBar();

//Build the first menu.
menu = new JMenu("File");
menu.setMnemonic(KeyEvent.VK_F);
menu.getAccessibleContext().setAccessibleDescription(
        "File menu");
menuBar.add(menu);

//JMenuItems show the menu items
menuItem = new JMenuItem("New",
                         new ImageIcon("images/new.gif"));
menuItem.setMnemonic(KeyEvent.VK_N);
menu.add(menuItem);

// add a separator
menu.addSeparator();

menuItem = new JMenuItem("Pause", new ImageIcon("images/pause.gif"));
menuItem.setMnemonic(KeyEvent.VK_P);
menu.add(menuItem);

menuItem = new JMenuItem("Exit", new ImageIcon("images/exit.gif"));
menuItem.setMnemonic(KeyEvent.VK_E);
menu.add(menuItem);

// add menu bar to frame
frame.setJMenuBar(theJMenuBar);

The important classes to know are JMenuBar, JMenu, and JMenuItem.

To handle clicks on those menu items, you need to add an ActionListener for each, using code such as:

menuItem.addActionListener(new ActionListener() { // ...});
Comments