Action Verarbeitung im CardLayout

also ich habe auf die contentPane mal ein JPanel getan, und das JPanel im CardLayout format in alles integriert, aber so hat es auch nict funktioniert.
Die contentPane benutze ich nur in der Klasse GUI(). die anderen Klassen sind lediglich JPanels, die auf der contentPane geaddet werden....

hier noch mal die Fehlermeldung:at Spiel.GUI.show(GUI.java:72)
at Spiel.GUI.<init>(GUI.java:55)
at Spiel.GUI.getInstance(GUI.java:64)
at Spiel.GUIListener.<init>(GUIListener.java:9)
at Spiel.Menue.<clinit>(Menue.java:32)
... 3 more


höchstens im GUIListener wird die contentPane vielleicht noch mal überarbeitet, weil dort ja GUI get Instance aufgerufen wird ... oder
hmm, hier noch mal der GUIListener:
Code:
public class GUIListener implements ActionListener{

	private GUI karten = GUI.getInstance();	        
	
	public void actionPerformed(ActionEvent event) {
				
		String a = event.getActionCommand();
		
		if(a.equals("neu"))
		{
			karten.show("zwei");
         }
		
	}}

und hier noch mal die GUI-Klasse mit dem CardLayout in der auch die contentPane erschaffen wird:
Code:
package Spiel;

import java.awt.CardLayout;
import java.awt.Container;
import java.awt.Dimension;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class GUI {

	private static GUI instance = null;

	private static JFrame f;

	private static CardLayout cards;

	private JPanel menue, anleitung, info, spiel, score, spielfeld;

	private Container contentPane;

	private GUI() {

		// Fenster erstellen
		f = new JFrame("Esköllator");
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		f.setIconImage(new ImageIcon("aufzugfahrt1.jpg").getImage());
		// Größe des Fensters an den Bildschirm anpassen
		Dimension screen = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
		f.setSize(screen);

		// ContentPane in JFrame holen und Layout setzen
		contentPane = f.getContentPane();
		cards = new CardLayout();
				
		contentPane.setLayout(cards);

		// JPanels für CardLayout
		menue = new Menue();
		anleitung = new Anleitung();
		spielfeld = new Spielfeld();
		info = new Info();
		spiel = new Spielfeld();
		// score = ;

		// Cards dem Layout zufügen
		contentPane.add(menue, "eins");
		contentPane.add(anleitung, "zwei");
		contentPane.add(info, "drei");
		contentPane.add(spiel, "vier");
		// contentPane.add(score, "fuenf");
		contentPane.add(spielfeld, "sechs");

		// erste Card die angezeigt werden soll
		show("drei");

		f.setVisible(true);

	}

	public static GUI getInstance() {

		if (instance == null) {
			instance = new GUI();
		}
		return instance;

	}

	public void show(String string) {

		cards.show(contentPane, string);
	}
 

Neue Beiträge

Zurück