package com.vampirehemophile.ghosts.gamestates;

import javax.swing.JPanel;

/** Main menu state. */
public class MenuState extends State {

  /** main game menu state's panel. */
  @SuppressWarnings("serial")
  private class MenuPanel extends JPanel {

    /** Constructs a MenuPanel object. */
    public MenuPanel() {
      super();
    }
  }


  /** states panel. */
  private JPanel panel;


  /** Constructs a MenuState object. */
  public MenuState() {
    super();
    panel = new MenuPanel();
  }

  /** {@inheritDoc} */
  @Override
  public JPanel render() {
    return panel;
  }
}

@@ -68,16 +68,223 @@
 .JPanel;
+%0Aimport javax.swing.JButton;%0Aimport javax.swing.JLabel;%0Aimport javax.swing.BoxLayout;%0Aimport java.awt.Component;%0Aimport java.awt.event.ActionEvent;%0Aimport java.awt.event.ActionListener;%0Aimport java.awt.Font;
 %0A%0A/** Ma
@@ -531,24 +531,1525 @@
     super();
+%0A%0A      JLabel label;%0A      JButton button;%0A%0A      // Layout%0A      setLayout(new BoxLayout(this, BoxLayout.PAGE_AXIS));%0A%0A      // Title%0A      label = new JLabel(%22Ghosts!%22, JLabel.CENTER);%0A      label.setHorizontalTextPosition(JLabel.CENTER);%0A      label.setAlignmentX(Component.CENTER_ALIGNMENT);%0A      label.setFont(new Font(Font.MONOSPACED, Font.PLAIN, 20));%0A      add(label);%0A%0A      // Credits%0A      label = new JLabel(%22Antonin DECIMO & Perrine PULLICINO%22, JLabel.CENTER);%0A      label.setHorizontalTextPosition(JLabel.CENTER);%0A      label.setAlignmentX(Component.CENTER_ALIGNMENT);%0A      add(label);%0A%0A      // Play button%0A      button = new JButton(%22Play !%22);%0A      button.setAlignmentX(Component.CENTER_ALIGNMENT);%0A      button.addActionListener(new ActionListener() %7B%0A        @Override public void actionPerformed(ActionEvent e) %7B%0A          MenuState.this.setChanged();%0A          MenuState.this.notifyObservers(new PlayState());%0A        %7D%0A      %7D);%0A      add(button);%0A%0A      // Source%0A      if (java.awt.Desktop.isDesktopSupported()) %7B%0A        button = new JButton(%22Source%22);%0A        button.setAlignmentX(Component.CENTER_ALIGNMENT);%0A        button.addActionListener(new ActionListener() %7B%0A          @Override public void actionPerformed(ActionEvent e) %7B%0A            try %7B%0A              java.awt.Desktop.getDesktop().browse(%0A                new java.net.URI(%22https://github.com/VampireHemophile/Ghosts%22));%0A            %7D catch (Exception ex) %7B%7D%0A          %7D%0A        %7D);%0A        add(button);%0A      %7D
 %0A    %7D%0A  %7D%0A%0A

Add MenuState