# Spielemenü erstellen



## sutti93 (9. Dez 2009)

Hallo zuerst

Ich programmiere in der Schule mit einem Kollegen ein kleines Spiel.
Nun bin ich am Menü zusammenbasteln weiss jedoch überhaupt nicht wie ich vorgehen soll.
Ich programmiere mit JAVA(probiere es zumindest)
Es soll nichts grosses werden nur ein kleines Menü so mit Buttons drauf z.B Spiel starten, Beenden und  Einstellungen.
Könnt ihr mir da helfen??

Gruss 
Yannick


----------



## Ein Keks (9. Dez 2009)

an was scheiterts denn? allgemein an GUI prgrammierung (dann wäre ein swing tutorial angebracht) oder eher an so sachen wie layoutmanagern (Box- oder GridLayout würden sich anbieten link)
wenn du konkrete fragen hast kriegst du hier meist auch gute antworten. 
ansonsten was hast du denn bis jetzt schon? und aus reiner neugier was würd es denn für ein spiel?^^


----------



## sutti93 (9. Dez 2009)

Leider habe ich noch nicht viele Erfahrungen bin in der Lernphase.
Es soll ein 2D Shooter werden.
Vielen Dank für die rasche Antwort


----------



## Ein Keks (9. Dez 2009)

hier erstma ne kleine übersicht über swing link

prinzipiell brauchst du erstmal ein JFrame oder eine Klasse die von JFrame erbt darauf kannst du dann ein JPanel fürs Menu draufpacken, welches dann halt deine JButtons enthält. Ein JButton hat eine methode addActionListener welche einen parameter vom Typ ActionListener benötigt. ActionListener haben eine abstrakte (leere) methode die du überschreiben musst und die halt dann beim drücken des buttons ausgelöst wird. 
kleines Beispiel:

```
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Menu extends JFrame{
	
	public static void main(String[] args){
		new Menu();
	}

	//Konstruktor
	public Menu(){
		super("Name");
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		add(createMenuPanel());
		pack();
		setLocationRelativeTo(null);
		setVisible(true);
	}

	private JPanel createMenuPanel() {
		JPanel panel = new JPanel(new GridLayout(0, 1));
		
		JButton start = new JButton("Start");
		start.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				//start das Spiel
			}
		});
		
		JButton close = new JButton("Close");
		close.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				System.exit(0);
			}
		});

		panel.add(start);
		panel.add(close);
		return panel;
	}
}
```


----------

