Anfangsmenü mit Spiel verknüpfen

sanika1991

Mitglied
Hallo,

Ich habe ein vier gewinnt programmiert und habe dort auch ein Startmenü erstellt,
jedoch bekomme Ich den Button "Spiel starten" im Anfangsmenü nicht mit der eigentlichen Spielklasse
verbunden, sodass diese beim Anklicken der Buttons ausgeführt wird.

Könnt ihr mir helfen?

Danke schon mal!!
 

sanika1991

Mitglied
Mein Problem ist, dass Ich gar nicht weiss, wie Ich diese Verknüpfung überhaupt erstelle,
also mir fehlen die Operartoren dafür, da Ich noch ein wirklicher Informatikanfänger bin.

Also ich hab ein Startmenü mit dem Button "Spiel starten" und eine Klasse die fürs Spiel an sich
zuständig ist. Und Ich möchte jetzt gerne dass wenn ich den Button anklicke dass dann das Spiel
aufgeführt wird.
 

sanika1991

Mitglied
ich finde da nicht heraus wie man die verknüpfung herstellt.Den Button an sich habe Ich auch schon.
bisher hatte ich die verknüpfung mit einem leeren fenster als platzhalter, und ich habe auch schon versucht in das leere
fenster die spiel hinzuzufügen mit frame.add aber da akzeptiert er das add nicht.
 

sanika1991

Mitglied
das ist der Code des Anfangsmenüs

Java:
import javax.swing.*;
import java.lang.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.Container.*;
import java.net.URI;


public class Anfangsmenue extends JFrame implements ActionListener 
{
    //deklarationen = erstellt die einzelnen Buttons namens ...
    private JButton spielStarten;
    private JButton anleitung;
    private JButton ende;
    private JButton options;

    //definieren der Hauptmethode durch festlegen der Funktionen der Variablen
    public static void main(String[] args) throws Exception
    {
        //erzeugen eines neuen Fensters "Menü"
       Anfangsmenue frame = new Anfangsmenue ("Vier gewinnt");
       //erstellen der "Schließen-Funktion"
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       //Größe des erstellten Menüs
       frame.setSize(400,400);
       //öffnet das fensterlayout ohne Vorgaben
       frame.setLayout(null);
       //macht das Fenster erst sichtbar
       frame.setVisible(true);
       
    }
    //erzeugen des Fensters
    public Anfangsmenue(String title)
    {
       //Uberschrift des Fensters erben von frame
       super(title);
       
       //Funktion der Buttons "spielStarten"
       spielStarten = new JButton("Spiel starten");
       //Größe 120x40 und Position 160x40
       spielStarten.setBounds(120,60,160,40);
       //
       spielStarten.addActionListener(this);
       //fügt "schliessen" zum Button hinzu
       add(spielStarten);
       
       //Funktion der Buttons "Anleitung"
       anleitung = new JButton("Spielanleitung");
       //Größe 120x40 und Position 160x40
       anleitung.setBounds(120,170,160,40);
       //
       anleitung.addActionListener(this);
       //fügt "einstellungen" zum Button hinzu
       add(anleitung);
       
       //Funktion der Buttons "Spiel beenden"
       ende = new JButton("Spiel beenden");
       //Größe 120x40 und Position 160x40
       ende.setBounds(120,240,160,40);
       //
       ende.addActionListener(this);
       //fügt "ende" zum Button hinzu
       add(ende);
       
       JLabel label = new JLabel ("Made by C. Tiemann, S. Brunner, M. Wiens, I. Wojcicki, S.Hormes");
       label.setBounds(5,340,370,15);
       add(label);
    }
     //leitet Information an ActionListener weiter, der dann Event auslöst
    public void actionPerformed(ActionEvent e)
    {
        //für spielStarten
        /*if (e.getSource() == spielStarten )
        {
         fenster();
        }*/[/COLOR]
        //für Anleitung
        if (e.getSource() == anleitung)
        {
            spielanleitung();
        }        
        //für Beenden
        if (e.getSource() == ende)
        {
        System.exit(0);
        }
    }
        //öffnen des Spiels bei Auswahl des "Spiel starten"-Buttons
        /*public static void fenster()
    {
        JFrame fenster = new JFrame("Vier gewinnt");
        fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        fenster.setSize(400,500);
        fenster.setVisible(true);
        fenster.add (new Spielerstellen());
    }*/[/COLOR]
       public static void spielanleitung() 
	{
 
        //Desktopobjekt holen
        Desktop desktop = Desktop.getDesktop();
 
        //Adresse mit Standardbrowser anzeigen
        URI uri;
        try 
        {
            uri = new URI("http://www.brettspielnetz.de/spielregeln/vier+gewinnt.php");
            desktop.browse(uri);
        } 
        catch (Exception oError) 
        {
        }
        
    }
}

und da würde ich gerne bei dem was Ich dort rauskommentiert habe statt des leeren fensters die Klasse mit dem Spiel verknüpfen.
 
Zuletzt bearbeitet:
M

Marcinek

Gast
setVisible() immer als letztes einfügen.

Wie sieht die KLasse "Spielerstellen§ aus? Theroetisch müsste dies von type JPanel sein.
 

sanika1991

Mitglied
alles klar..

die klasse spielerstellen sieht wie folgt aus

Java:
//4gewinnt_v5

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.net.URI;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import javax.swing.JTextField;

public  class Spielerstellen  
{
    private static JButton Spielanleitung = new JButton();
	private static JButton NewGame = new JButton();
	private static JButton Close = new JButton();
	private static JTextField Text = new JTextField(); 	
	private static TextField Antwort = new TextField();
	private static TextField Antwort2;
	
	private static Label ausgabe = new Label();
	private static Label ausgabe2 = new Label();
	
	
  public static void create() 
    {
    	
     Spiel spiel = new Spiel();
     SpielFrame frame = new SpielFrame (spiel);
     
     //setzt Groesse, auch Dimension waeren moeglich
     frame.setSize(600,500);
     
     //verhindert GroessenAenderungen von JFrame
     frame.setResizable(false);
     
     //steuert das "x" vom Fenster, Do nothing, wegen WindowsListener
     frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
     
     //ruft Methode auf
     load(spiel, frame);
    	 
     //String Antwort = JOptionPane.showInputDialog(null, "Wie hei�t der erste Spieler?");    
	//String Antwort2 = JOptionPane.showInputDialog(null, "Wie hei�t der zweite Spieler?");

     
     //Fenster sichtbar
     frame.setVisible(true);
    }
    
    

   public static void spielanleitung() 
	{
        // TODO hier Quelltext einfuegen
 
        //Desktopobjekt holen
        Desktop desktop = Desktop.getDesktop();
 
        //Adresse mit Standardbrowser anzeigen
        URI uri;
        try 
        {
            uri = new URI("http://www.brettspielnetz.de/spielregeln/vier+gewinnt.php");
            desktop.browse(uri);
        } 
        catch (Exception oError) 
        {
            //Hier Fehler abfangen -> was hier passiert, versteh ich nicht (iza)
        }
        
    }
    
    public static void NeuStarten(Frame frame)
    {
    	
    	frame.dispose() ;
		create();
		NewGame= new JButton();
		String Antwort = JOptionPane.showInputDialog("Wie hei�t der erste Spieler?");    
		String Antwort2 = JOptionPane.showInputDialog("Wie hei�t der zweite Spieler?");
		ausgabe.setText( "Hallo " + Antwort + " und " + Antwort2);
		ausgabe2.setText( "Viel Spass beim Spielen!");
    	
    }
    
    public static void NeuStarten2(Frame frame)
    {
    	
    	frame.dispose() ;
		create();
		NewGame= new JButton();
		   	
    }
	
    static void load(final Spiel spiel, final SpielFrame frame) 
    {
    	
    	
    	frame.clear();
		spiel.clear();
		
      
       //Form des Spielfeldes
       Box box = Box.createVerticalBox();
       frame.add (box);
       
       frame.setLocationRelativeTo(null);
       
       //Hauptpanel
       JPanel spielPanel = new JPanel (null);
       box.add(spielPanel);
       
       //Hintergrund:
       JPanel backgroundPanel = new JPanel ();
       //kann evtl geloescht werden:
       backgroundPanel.setBounds(0,  0, 366, 314);
       //Hintergrundfarbe:
       backgroundPanel.setBackground (Color.lightGray);
       spielPanel.add(backgroundPanel);
       
       //Panel fuer Steine
       JPanel steinPanel = new JPanel(null);
       steinPanel.setBounds(0, 0, 366, 314);
       //Transparenz:
       steinPanel.setOpaque(false);
       spielPanel.add(steinPanel, 0);
       
       //Spielbrett reinladen:
       JLabel spielbrett = new JLabel (new ImageIcon("bild\\foreground.png"));
       spielbrett.setBounds(0,0,366,314);
       spielPanel.add(spielbrett, 0);
       
       JPanel mousePanel = new Maus(spiel, steinPanel, frame);
	   mousePanel.setBounds(0, 0, 366, 314);
	   mousePanel.setOpaque(false);
	   spielPanel.add(mousePanel, 0);
       
       //
       
       JLabel spielerLabel = new JLabel ();
       box.add (spielerLabel);
       
     //Button "Spiel beenden"
       Close.setBounds(450, 410, 131, 33);
       Close.setVisible(true);
       Close.setText("Spiel Beenden"); 
       spielPanel.add(Close);
       Close.addActionListener(new java.awt.event.ActionListener() 
       {  
          public void actionPerformed(java.awt.event.ActionEvent e) 
          {  
        	   frame.dispose();  
          }  
       });
       
       Label hinweis = new Label( "Bitte Spieler eingebe" );
       ausgabe.setBounds(400, 10, 150, 33);
       ausgabe.setVisible(true);
       spielPanel.add(ausgabe);
       
       ausgabe2.setBounds(400, 60, 150, 33);
        ausgabe2.setVisible(true);
        spielPanel.add(ausgabe2);
      
       
       
       
       initializeNewGameButton(frame);
      
      
     
       spielPanel.add(NewGame); 
       
       
       Spielanleitung.setBounds(20, 410, 131, 33);
       Spielanleitung.setText("Spielanleitung");
       Spielanleitung.addActionListener(new ActionListener() {

               public void actionPerformed(ActionEvent evt) {
                   spielanleitung();
               }
           });
           spielPanel.add(Spielanleitung);
         
           
        }



	private static void initializeNewGameButton(final SpielFrame frame) {
		NewGame.setBounds(200, 410, 131, 33);
		   NewGame.setVisible(true);
		   NewGame.setText("Neu Starten");
		  //.addActionListener(new ButtonLauscher());
		   NewGame.getActionListeners();
		   
		   ActionListener[] actionListeners = NewGame.getActionListeners();
		   if (actionListeners.length == 0)
		   {
	
		   NewGame.addActionListener(new ActionListener() {  
		       public void actionPerformed(ActionEvent e) {  
		    	   //frame.shutdown();
		     	   //Spielerstellen.create();
		    	   NewGame= new JButton();
		     	 Spielerstellen.NeuStarten(frame);
		    	   
		     	  //frame.shutdown();
		    	  // Spielerstellen.load(spiel, frame);
		            }  
		   }
				   );
		   }
	
	}
        
    	
    public static void main (String[] args) {
        create();
    
    }
    
}
 
M

Marcinek

Gast
Habe jetzt nicht im detail gelesen:

Es müsste also so gehen: new Spielerstellung().create();

Rest des codes musst du entfernen. Also im ActionListener
 
M

Marcinek

Gast
Sorry,

ich kann dir nicht helfen. Keine Lust jedes Detail einzeln nachzufragen.

Google die Fehlermeldung, oder nimm ein Grundlagenbuch.
 

Helgon

Bekanntes Mitglied
Spielanleitung ist soweit ich das grad gesehen habe nur eine static Methode. also einfach

Java:
Spielerstellen.spielanleitung();

bevor du dir hier irgendwelche sachen zusammen kopierst lern lieber die basics, weil das was du hier fragst ist das grundlegendeste überhaupt..
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
xFearofdarkness Feinde überlappen sich in Java Spiel Spiele- und Multimedia-Programmierung 3
ItundMathe1994 TicTacToe Spiel programmieren Spiele- und Multimedia-Programmierung 2
JEP1 Hilfe bei Spiel Spiele- und Multimedia-Programmierung 1
P Pokemon Spiel Funktioniert nicht ? Spiele- und Multimedia-Programmierung 3
Leon.tr3x Mein erstes Programm/Spiel Spiele- und Multimedia-Programmierung 10
O Texas Hold'em Poker als Online-Spiel mit Freunden Spiele- und Multimedia-Programmierung 5
Drachenbauer Speicher-Tool für ein Spiel schreiben Spiele- und Multimedia-Programmierung 13
M Spiel Mühle-Programmierung Java Spiele- und Multimedia-Programmierung 9
Excess Spiel abzugeben Spiele- und Multimedia-Programmierung 1
I Superhelden - Spiel Spiele- und Multimedia-Programmierung 14
E Hauptmenü und Spiel ???? Spiele- und Multimedia-Programmierung 2
L Sound in Java Spiel Spiele- und Multimedia-Programmierung 5
R Interaktives Spiel Spiele- und Multimedia-Programmierung 5
L Spiel im Editor testen Spiele- und Multimedia-Programmierung 4
Jackii dispatchUncaughtException in Quiz Spiel mit GUI Layout Spiele- und Multimedia-Programmierung 6
D Textbasiertes Spiel Spiele- und Multimedia-Programmierung 8
K Android Spiel Programmieren Spiele- und Multimedia-Programmierung 6
L BrickBreaker Spiel Spiele- und Multimedia-Programmierung 3
A Spiel Figur ansprechen und bewegen Spiele- und Multimedia-Programmierung 3
it_is_all Dialogbox im Spiel - Text in Blöcke aufteilen Spiele- und Multimedia-Programmierung 4
F Koordinieren und Essen von Snake - Spiel Spiele- und Multimedia-Programmierung 14
G Entity Verwaltung in einem 2D Spiel Spiele- und Multimedia-Programmierung 1
E Möchte Spiel Programmieren Spiele- und Multimedia-Programmierung 7
S Connect6 Spiel - Code in ei Spiele- und Multimedia-Programmierung 2
A Spiel nach Abfrage beenden oder neustarten Spiele- und Multimedia-Programmierung 1
G Welten Generierung 2D Spiel Spiele- und Multimedia-Programmierung 4
G Java 2D Spiel mit LWJGL verbinden Spiele- und Multimedia-Programmierung 1
N Problem mit 2D Spiel Spiele- und Multimedia-Programmierung 17
T Probleme bei "Pixel-Fighting"-Spiel: Unausgewogene Mannschaften??? Spiele- und Multimedia-Programmierung 4
R Pong Spiel Problem Spiele- und Multimedia-Programmierung 1
L Coordinate Space JavaFX 2d Spiel Spiele- und Multimedia-Programmierung 0
C Vier Gewinnt Spiel Programmiertipp Spiele- und Multimedia-Programmierung 11
N Jump and run Spiel - wo anfangen / weitermachen? Spiele- und Multimedia-Programmierung 11
K Spiel zum zuordnen von Dienstgraden und Dienstgradabzeichen Spiele- und Multimedia-Programmierung 5
M Textbasiertes Spiel programmieren Spiele- und Multimedia-Programmierung 4
T 2d-Spiel Licht Spiele- und Multimedia-Programmierung 5
S Jump 'n' Run-Spiel Kollisionserkennung Spiele- und Multimedia-Programmierung 3
T Spiel rendern Spiele- und Multimedia-Programmierung 2
Grevak Sounds im Spiel Spiele- und Multimedia-Programmierung 5
B Fehlerhafte Mob Bewegungen in Tower Defense Spiel Spiele- und Multimedia-Programmierung 2
F Spiel ähnlich wie SimCity/o.ä programmieren Spiele- und Multimedia-Programmierung 5
X Erklärung zu einem Tic Tac Toe Spiel Spiele- und Multimedia-Programmierung 1
I Spectator Modus für Spiel ähnlich zu Terraria Spiele- und Multimedia-Programmierung 8
I Textbasiertes Spiel - Umsetzungsfrage & Schleifen Problem Spiele- und Multimedia-Programmierung 26
M Kollisions abfrage bei 3D spiel? Spiele- und Multimedia-Programmierung 12
D JAVA Basiertes Spiel aus dem Internet in eigenem Client laden Spiele- und Multimedia-Programmierung 1
P [Spiel]Welche Bilder sind gleich Spiele- und Multimedia-Programmierung 2
E GUI zum Spiel hinzufügen Spiele- und Multimedia-Programmierung 19
S 2D Spiel - Physics Spiele- und Multimedia-Programmierung 16
S 2D Spiel "Der Sprung" Spiele- und Multimedia-Programmierung 7
A 2D Spiel ohne Tiles Spiele- und Multimedia-Programmierung 10
V welche vorgehensweise beforzieht ihr bei einfachem Quizz Spiel ? Spiele- und Multimedia-Programmierung 4
S Quaxli's Heli Spiel läuft nicht nach Plan Spiele- und Multimedia-Programmierung 2
G Methode sleepen während das Spiel weiterläuft Spiele- und Multimedia-Programmierung 3
T Spiel Überprüfung Spiele- und Multimedia-Programmierung 3
P Spiel laggt nach unbestimmter Zeit tierisch. Spiele- und Multimedia-Programmierung 27
S Hilfe bei Spiel Spiele- und Multimedia-Programmierung 6
B Hauptmenü für Spiel Spiele- und Multimedia-Programmierung 1
W Spiel ist langsam/laggt Spiele- und Multimedia-Programmierung 18
J Ascii Spiel Spiele- und Multimedia-Programmierung 1
Androbin Mein Spiel will sich nicht zeichnen lassen !!! Spiele- und Multimedia-Programmierung 7
O Vollständige Musik in Spiel einbauen (wav - Format) Spiele- und Multimedia-Programmierung 8
Y Quiz Spiel Spiele- und Multimedia-Programmierung 1
J Conways Spiel des Lebens nachprogrammiert Spiele- und Multimedia-Programmierung 1
B Spiel Programmieren, die Anfänge Spiele- und Multimedia-Programmierung 6
D [OpenGL] Spiel in der Art von Age of Empires Spiele- und Multimedia-Programmierung 4
lord239123 suche Graphiker für ein Pokemon-Spiel Spiele- und Multimedia-Programmierung 6
S Spiel installeren lassen und organisieren Spiele- und Multimedia-Programmierung 3
J Lichtupdate in tile-basiertem Spiel Spiele- und Multimedia-Programmierung 4
P Erstes Spiel (Strategie) Spiele- und Multimedia-Programmierung 31
J Mein erstes Spiel [Spielevorstellung] Spiele- und Multimedia-Programmierung 2
Bananabert Spiel Renderer Images und Strings Spiele- und Multimedia-Programmierung 4
N Spiel Menü error ! Spiele- und Multimedia-Programmierung 5
S Spiel ruckelt trotz 50 fps Spiele- und Multimedia-Programmierung 16
D Spiel-Bilddaten auswerten Spiele- und Multimedia-Programmierung 7
Creylon [LWJGL] Spiel Exportieren Spiele- und Multimedia-Programmierung 2
L Hilfe bei Klassendesign für Spiel Spiele- und Multimedia-Programmierung 2
Devil0s Spiel laggt trotz 90 FPS (bei der Anzeige) Spiele- und Multimedia-Programmierung 9
N Webanwendung als eine Art Spiel Spiele- und Multimedia-Programmierung 8
L Korrekte Darstellung von Wasser in 2D Spiel Spiele- und Multimedia-Programmierung 4
F Ideen für spiel Spiele- und Multimedia-Programmierung 4
J wohin mit der Logik des Spiel Spiele- und Multimedia-Programmierung 2
R Experimente mit Quaxlis Spiel Spiele- und Multimedia-Programmierung 12
W Spiel-Grundlagen selbst austüfteln: Kollisionen? Spiele- und Multimedia-Programmierung 3
Kenan89 Java 2D Spiel Spiele- und Multimedia-Programmierung 39
M Automaten Spiel Spiele- und Multimedia-Programmierung 27
J Tic tac toe spiel Neustart Spiele- und Multimedia-Programmierung 5
S 2D Spiel im Vollbild langsamer als im Fenster Spiele- und Multimedia-Programmierung 11
A TicTacToe Spiel Spiele- und Multimedia-Programmierung 3
S Verbesserungvorschläge Spiel Z Spiele- und Multimedia-Programmierung 31
S Spiel abbrechen Spiele- und Multimedia-Programmierung 3
J Greenfoot "Little Crab" Spiel Erweiterungen Spiele- und Multimedia-Programmierung 6
P Spiel HUD erstellen Spiele- und Multimedia-Programmierung 6
E Spiel neustarten Spiele- und Multimedia-Programmierung 4
S Aufbau von Klassen für Spiel Spiele- und Multimedia-Programmierung 13
A Grundlagensuche für Spiel Spiele- und Multimedia-Programmierung 8
V Basisprinzipien Breakout-Spiel Spiele- und Multimedia-Programmierung 8
E Spiel startet nach exportieren nicht Spiele- und Multimedia-Programmierung 7
Gossi Erweiterung von Quaxlis Heli-Spiel Spiele- und Multimedia-Programmierung 16
M Hilfe bei Spiel Programmierung Spiele- und Multimedia-Programmierung 4

Ähnliche Java Themen

Neue Themen


Oben