Menü umstrukutierem

  • Themenstarter Themenstarter java12
  • Beginndatum Beginndatum
J

java12

Gast
Hallo,

ich bastele gerade an diesen Spielmenü rum und komme aber nicht weiter.
ich möchte noch dass die hintergrundfarbe schwarz wird und wenn man Start drückt das dann schön untereinander Spielstand 1 -6 kommt und dann zurück zum Hauptmenü. Aber irgendwie klappts nicht.
Ich gebe euch mal den code.


Java:
/*Nach TODO's suchen !!!!!
 *
 * 
 * GameWindow
 * 
 *(hauptklasse des fensters)
 */

import javax.swing.*;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class GameWindow extends JFrame  implements ActionListener 
{
	
	
	

//erstellen
   private JButton button;
   private JButton button2;
   private JButton button3;
 //  private JButton button4;
   private JButton button6;
   private JButton button7;
   private JButton button8;
   private JPanel panel;
   private JPanel panel2;
   private JPanel panel3;
   private JPanel panel4;
   private JPanel panel5;
   private JPanel panel6;
   private JPanel panel7;
   private JPanel panel8;
   private JLabel label;
   private JLabel label3;
   private int i = 0;
   private int b = 0;
   
   
   
   //Konstruktor
   public GameWindow()
   {  //Fenster erstellen
	   
       super("Star Evolution"); 
       this.setLocation(0,0);
       setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       setLayout(new FlowLayout());  
       
       
       
       
       
       //intialisieren
       
	   button3 = new JButton("   Start   ");
	   button3.addActionListener(this);
	   ////////button4 = new JButton("  Updaten   ");
	   ////////button4.addActionListener(this);
     //  button = new JButton("   Optionen   ");
       //button.addActionListener(this);
	   button2 = new JButton("   Beenden   ");
	   button2.addActionListener(this);
	   button6 = new JButton("   Zurück zum Hauptmenü   ");
	   button6.addActionListener(this);
	   button7 = new JButton("Spielstand 1");
	   button7.addActionListener(this);
	   button8 = new JButton("Spielstand 2");
	   button8.addActionListener(this);
	   panel = new JPanel(new FlowLayout());
	   panel2 = new JPanel(new BorderLayout());
	   panel3 = new JPanel(new BorderLayout());
	   panel4 = new JPanel(new BorderLayout());
	   panel5 = new JPanel(new BorderLayout());
	   panel6 = new JPanel(new BorderLayout());
	   panel7 = new JPanel(new BorderLayout());
	   panel8 = new JPanel(new BorderLayout());
	   panel8 = new JPanel(new BorderLayout());

	   label3 = new JLabel("                                     ");
	   
	   button3.setFont(new Font("   Start   ", 0, 40));
	   //button.setFont(new Font("   Optionen   ", 0, 30));
	   button2.setFont(new Font("   Beenden   ", 0, 30));
	   //button4.setFont(new Font("", 0, 40));
	   button6.setFont(new Font("   Zurück zum Hauptmenü   ", 0, 40));
	   button7.setFont(new Font("   Spielstand 1   ", 0, 40));
	   button8.setFont(new Font("   Spielstand 2   ", 0, 40));
	   
       //button.setBackground(Color.WHITE);
	   button2.setBackground(Color.WHITE);
	   button3.setBackground(Color.WHITE);
	   ////////button4.setBackground(Color.WHITE);
	   button6.setBackground(Color.WHITE);
	   button7.setBackground(Color.WHITE);
	   button8.setBackground(Color.WHITE);
	   
	   ////////button4.setVisible(false);
	   label3.setVisible(false);
	   //button.setVisible(true);
	   button6.setVisible(false);
	   button7.setVisible(false);
	   button8.setVisible(false);
	   
	   
	   
	   
	 
	   
       //adden
	   panel2.add(button3, BorderLayout.CENTER);
	   //panel.add(button);
	   panel.add(button2);
	 //  panel3.add(button4, BorderLayout.WEST);
	   panel5.add(label3);
	
	   panel7.add(button7);
	   panel7.add(button8, BorderLayout.AFTER_LAST_LINE);
       panel8.add(button6);
	   getContentPane().add(panel2);
       getContentPane().add(panel);
       getContentPane().add(panel3);
       getContentPane().add(panel5);
       getContentPane().add(panel4);
       getContentPane().add(panel6);
       getContentPane().add(panel7);
       getContentPane().add(panel8);
       this.setSize(1280,1024);	
       setVisible(true);
   }
   

//ActionListener
   public void actionPerformed(ActionEvent object) {
       if (object.getSource() == button ){
    	//   button.setVisible(false);
    	   button2.setVisible(false);
    	   button3.setVisible(false);
    	   //button4.setVisible(true);
    	   label3.setVisible(true);
    	   button6.setVisible(true);
    	   repaint();
       }
    	   if (object.getSource() == button2 ){
            System.exit(0);
      }
            //Schwierigkeiststufe 
    	
    	
    		   if (object.getSource() == button3 ){
    	  //  	   button.setVisible(false);
    	    	   button2.setVisible(false);
    	    	   button3.setVisible(false);
    	    	   //button4.setVisible(false);
    	    	  button6.setVisible(true);
    	    	   label3.setVisible(false);
    	    	   button7.setVisible(true);
    	    	   button8.setVisible(true);
    	    	   repaint();
    		   }
    		   if (object.getSource() == button6 ){
    	    //	   button.setVisible(true);
    	    	   button2.setVisible(true);
    	    	   button3.setVisible(true);
    	    	   button7.setVisible(false);
    	    	   button8.setVisible(false);
    	    	   //button4.setVisible(false);
    	   
    	    	   label3.setVisible(false);
    	    	   button6.setVisible(false);
    	    	   repaint(); 
    		   }
    		   if (object.getSource() == button7 ){
    	            button7.setVisible(false);
    	            button8.setVisible(false);
    	            //TODO hier muss ich das Spielstandmenü einfügen bzw Compenent.setVisiable(true);
    	      }
    		   if (object.getSource() == button8 ){
   	            button7.setVisible(false);
   	            button8.setVisible(false);
   	            //TODO hier muss ich das Spielstandmenü einfügen bzw Compenent.setVisiable(true);
   	      }
   		   
        		       }


   
   
   //Hauptmethode
   public static void main(String[] args)
   {
        new GameWindow();

   }

	
}
 
Zuletzt bearbeitet von einem Moderator:
als erstes tu mal bitte gaaaanz unten das
Java:
 in [[COLOR="Red"]/[/COLOR]JAVA] ändern.

Und was genau funktioniert nicht? Die schwarze Hintergrundfarbe?
 
ja und die buttons kriege ich nicht so geordnet

ps. wenn müsste das ein moderator ändern ich kann ihn als gast ja nicht bearbeiten meinen beitrag
 
Hallo,

für ein Spielmenü eignet sich das CardLayout sehr gut. Tutorial für CardLayout
Dieses scheint anfangs schwer zu sein, ist es aber nicht. Einfach mal testen!

Außerdem erstellt du 2x das Panel "panel8". Ich habs einfach mal so gelassen, wirst es dann schon ändern.

So überall wo ich was verändert habe habe ich ein paar Sternchen angefügt.

Java:
/*Nach TODO's suchen !!!!!
 *
 *
 * GameWindow
 *
 *(hauptklasse des fensters)
 */

import javax.swing.*;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class Test extends JFrame implements ActionListener {

	// erstellen
	private JButton button;
	private JButton button2;
	private JButton button3;
	// private JButton button4;
	private JButton button6;
	private JButton button7;
	private JButton button8;
	private JPanel panel;
	private JPanel panel2;
	private JPanel panel3;
	private JPanel panel4;
	private JPanel panel5;
	private JPanel panel6;
	private JPanel panel7;
	private JPanel panel8;
	private JLabel label;
	private JLabel label3;
	private int i = 0;
	private int b = 0;

	// Konstruktor
	public Test() { // Fenster erstellen

		super("Star Evolution");
		this.setLocation(0, 0);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLayout(new FlowLayout());
		this.getContentPane().setBackground(Color.black); // ContentPane wird schwarz. **************
		// intialisieren

		button3 = new JButton(" Start ");
		button3.addActionListener(this);
		// //////button4 = new JButton(" Updaten ");
		// //////button4.addActionListener(this);
		// button = new JButton(" Optionen ");
		// button.addActionListener(this);
		button2 = new JButton(" Beenden ");
		button2.addActionListener(this);
		button6 = new JButton(" Zurück zum Hauptmenü ");
		button6.addActionListener(this);
		button7 = new JButton("Spielstand 1");
		button7.addActionListener(this);
		button8 = new JButton("Spielstand 2");
		button8.addActionListener(this);
		panel = new JPanel(new FlowLayout());
		panel2 = new JPanel(new BorderLayout());
		panel3 = new JPanel(new BorderLayout());
		panel4 = new JPanel(new BorderLayout());
		panel5 = new JPanel(new BorderLayout());
		panel6 = new JPanel(new BorderLayout());
		panel7 = new JPanel(new BorderLayout());
		panel8 = new JPanel(new BorderLayout());
		panel8 = new JPanel(new BorderLayout()); // **************

		JPanel [] panelArray = {panel, panel2, panel3, panel4, panel5, panel6, panel7, panel8}; // **************
		
		for(JPanel p : panelArray){
			p.setBackground(Color.black); // Für jedes Panel von panelArray wird der Hintergrund auf schwarz gesetzt. **************
										  // Eventuell habe ich dich hier auch falsch verstanden, dann löschen.
		}
		
		label3 = new JLabel(" ");

		button3.setFont(new Font(" Start ", 0, 40));
		// button.setFont(new Font(" Optionen ", 0, 30));
		button2.setFont(new Font(" Beenden ", 0, 30));
		// button4.setFont(new Font("", 0, 40));
		button6.setFont(new Font(" Zurück zum Hauptmenü ", 0, 40));
		button7.setFont(new Font(" Spielstand 1 ", 0, 40));
		button8.setFont(new Font(" Spielstand 2 ", 0, 40));

		// button.setBackground(Color.WHITE);
		button2.setBackground(Color.WHITE);
		button3.setBackground(Color.WHITE);
		// //////button4.setBackground(Color.WHITE);
		button6.setBackground(Color.WHITE);
		button7.setBackground(Color.WHITE);
		button8.setBackground(Color.WHITE);

		// //////button4.setVisible(false);
		label3.setVisible(false);
		// button.setVisible(true);
		button6.setVisible(false);
		button7.setVisible(false);
		button8.setVisible(false);

		// adden
		panel2.add(button3, BorderLayout.CENTER);
		// panel.add(button);
		panel.add(button2);
		// panel3.add(button4, BorderLayout.WEST);
		panel5.add(label3);

		panel7.setLayout(new BoxLayout(panel7, BoxLayout.Y_AXIS)); // Jede Komponente in dem Panel wird untereinander angeordnet. **************
		panel7.add(button7);
		panel7.add(button8, BorderLayout.AFTER_LAST_LINE);
		panel8.add(button6);
		getContentPane().add(panel2);
		getContentPane().add(panel);
		getContentPane().add(panel3);
		getContentPane().add(panel5);
		getContentPane().add(panel4);
		getContentPane().add(panel6);
		getContentPane().add(panel7);
		getContentPane().add(panel8);
		this.setSize(1280, 1024);
		setVisible(true);
	}

	// ActionListener
	public void actionPerformed(ActionEvent object) {
		if (object.getSource() == button) {
			// button.setVisible(false);
			button2.setVisible(false);
			button3.setVisible(false);
			// button4.setVisible(true);
			label3.setVisible(true);
			button6.setVisible(true);
			repaint();
		}
		if (object.getSource() == button2) {
			System.exit(0);
		}
		// Schwierigkeiststufe

		if (object.getSource() == button3) {
			// button.setVisible(false);
			button2.setVisible(false);
			button3.setVisible(false);
			// button4.setVisible(false);
			button6.setVisible(true);
			label3.setVisible(false);
			button7.setVisible(true);
			button8.setVisible(true);
			repaint();
		}
		if (object.getSource() == button6) {
			// button.setVisible(true);
			button2.setVisible(true);
			button3.setVisible(true);
			button7.setVisible(false);
			button8.setVisible(false);
			// button4.setVisible(false);

			label3.setVisible(false);
			button6.setVisible(false);
			repaint();
		}
		if (object.getSource() == button7) {
			button7.setVisible(false);
			button8.setVisible(false);
			// TODO hier muss ich das Spielstandmenü einfügen bzw
			// Compenent.setVisiable(true);
		}
		if (object.getSource() == button8) {
			button7.setVisible(false);
			button8.setVisible(false);
			// TODO hier muss ich das Spielstandmenü einfügen bzw
			// Compenent.setVisiable(true);
		}

	}

	// Hauptmethode
	public static void main(String[] args) {
		new Test();

	}

}
 
Erstmal vielen Dank das mit den schwarz klappt schonmal mit den Buttons muss ich noch gucken.
 

Zurück
Oben