Menü umstrukutierem

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:

raGe666

Mitglied
als erstes tu mal bitte gaaaanz unten das
Java:
 in [[COLOR="Red"]/[/COLOR]JAVA] ändern.

Und was genau funktioniert nicht? Die schwarze Hintergrundfarbe?
 
J

java12

Gast
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
 

Fab1

Top Contributor
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();

	}

}
 
J

java12

Gast
Erstmal vielen Dank das mit den schwarz klappt schonmal mit den Buttons muss ich noch gucken.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J GUI Programmierung Popup-Menü AWT, Swing, JavaFX & SWT 4
J Java GUI Dropdown-Menü anzeigen AWT, Swing, JavaFX & SWT 5
I Von Menü: Seite zu Seite springen (CardLayout) AWT, Swing, JavaFX & SWT 8
B Swing Menü geht nicht AWT, Swing, JavaFX & SWT 5
AmsananKING Java Menü-Problem AWT, Swing, JavaFX & SWT 1
M Eine Datei auf den Apache Server hochladen - über das Menü im JavaProgramm AWT, Swing, JavaFX & SWT 7
H Swing Auf Klick auf Menü-Eintrag reagieren AWT, Swing, JavaFX & SWT 0
C JavaFX Inhalt eines SplitPane's durch Menü-Auswahl ändern? AWT, Swing, JavaFX & SWT 13
L JavaFX Mehrere JavaFX Szenen mit einem Menü AWT, Swing, JavaFX & SWT 1
M Menü ohne Menübar umsetzen[SWT] AWT, Swing, JavaFX & SWT 8
RalleYTN Swing Menü für Texteditor (Rechtsklick) AWT, Swing, JavaFX & SWT 4
D javafx.scene.control.TreeView als dropdown Menü AWT, Swing, JavaFX & SWT 6
G JavaFX Menü und mehrere Scenes AWT, Swing, JavaFX & SWT 16
J Swing aufklappbares Menü AWT, Swing, JavaFX & SWT 0
K JavaFX Fenster aufrufen über Menü AWT, Swing, JavaFX & SWT 1
F Swing Ein 2D-Game Menü mit framefüllenden Button AWT, Swing, JavaFX & SWT 6
J 2D-Grafik Menü programmieren AWT, Swing, JavaFX & SWT 2
X Popup Menü nur bei besonderem Fall öffnen AWT, Swing, JavaFX & SWT 3
U Größe eines Button im Menü ändern AWT, Swing, JavaFX & SWT 1
M Menü mit Buttons AWT, Swing, JavaFX & SWT 8
J Graphisches Game Menü AWT, Swing, JavaFX & SWT 9
J Maus "locken" für Menü AWT, Swing, JavaFX & SWT 8
S SWT: Drop-Down Menü-Einträge mit Tooltip hervorheben AWT, Swing, JavaFX & SWT 3
H Swing Menü mit Bildern AWT, Swing, JavaFX & SWT 2
C Swing Wie kann ich im Programm das Menü schließen AWT, Swing, JavaFX & SWT 2
D Jtable mit Dropdown Menü erweitern funktioniert nicht AWT, Swing, JavaFX & SWT 5
M Swing In GUI-Builder-JFrame mit Menü Schreiben und Zeichnen AWT, Swing, JavaFX & SWT 4
P versch. JPanel Klassen über Menü öffnen AWT, Swing, JavaFX & SWT 12
R Bitte kein Menü bei F10 AWT, Swing, JavaFX & SWT 9
A Swing Fenstergröße mittels Menü verändern AWT, Swing, JavaFX & SWT 3
kodela Tastaturereignisse für Menü- und Anwenderbereich AWT, Swing, JavaFX & SWT 14
TheWhiteShadow Swing Problem mit Icon-Menü-Leiste AWT, Swing, JavaFX & SWT 5
E Windows Kontext Menü - Laufendes Programm AWT, Swing, JavaFX & SWT 3
G Menü verschwindet durch .setText() AWT, Swing, JavaFX & SWT 4
J Swing Natives Menü unter OS X erstellen ? AWT, Swing, JavaFX & SWT 8
J Menü beschriftung wird nicht verändert AWT, Swing, JavaFX & SWT 7
J LookAndFeel Titelbar & About Menü AWT, Swing, JavaFX & SWT 6
Eldorado Swing Popup-Menü mit Jspinner AWT, Swing, JavaFX & SWT 4
Semox Swing Shortcuts in Menü realisieren AWT, Swing, JavaFX & SWT 2
R Swing Menü wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
Semox Swing Menü und JPanel AWT, Swing, JavaFX & SWT 6
S Menü Item "abhaken" lassen vom Benutzer AWT, Swing, JavaFX & SWT 2
G Swing Fortschrittsbalken im Fenster: Menü deaktivieren / abfangen? AWT, Swing, JavaFX & SWT 27
L Verzeichnis Menü (Durchsuchen) AWT, Swing, JavaFX & SWT 2
R JRadioButtonGroup - im Menü und im losgelösten Fenster AWT, Swing, JavaFX & SWT 3
J JButton und Menü AWT, Swing, JavaFX & SWT 5
S Dropdown-Menü wie auf der Eclipse-Toolbar AWT, Swing, JavaFX & SWT 7
T einfaches Menü in swing das nicht herunterklappt? AWT, Swing, JavaFX & SWT 4
M Menü mit Layout AWT, Swing, JavaFX & SWT 10
N Fenster mit Menü AWT, Swing, JavaFX & SWT 5
V Menüeinträge im DropDown-Menü deaktivieren AWT, Swing, JavaFX & SWT 3
B Applet Menü AWT, Swing, JavaFX & SWT 6
B Dropdown-Menü im Explorer AWT, Swing, JavaFX & SWT 4
E Anfänger-JPanel aus Menü aufrufen AWT, Swing, JavaFX & SWT 4
T Scrollbalken für ein Menü oder laufendes Dropdown-Menü wie? AWT, Swing, JavaFX & SWT 34
G Funktion für PopUp Menü AWT, Swing, JavaFX & SWT 32
ElViZ JCheckBoxMenuItem Problem - Menü soll offen bleiben. AWT, Swing, JavaFX & SWT 3
S Menü AWT, Swing, JavaFX & SWT 31
L F10 Taste öffnet das Menü AWT, Swing, JavaFX & SWT 7
M Combobox verdeckt Menü AWT, Swing, JavaFX & SWT 2
T Windows-Typisches Menü für Swing AWT, Swing, JavaFX & SWT 3
D Chinesisches Menü AWT, Swing, JavaFX & SWT 6
D Pulldown Menü erstellen; welche Klasse? AWT, Swing, JavaFX & SWT 2
T Tray-Icon-Menü unter Linux AWT, Swing, JavaFX & SWT 10
J Context Menü Maus AWT, Swing, JavaFX & SWT 3
welterde Menü in der Titelleiste des JInternalFrame AWT, Swing, JavaFX & SWT 4
T Popup-Menü unter Linux AWT, Swing, JavaFX & SWT 2
G Swing Menü Hauptfenster AWT, Swing, JavaFX & SWT 14
K Menü mit ALT-D öffnen AWT, Swing, JavaFX & SWT 13
M Ereignis: Menü offen? AWT, Swing, JavaFX & SWT 2
J Icons mit Text als Menü AWT, Swing, JavaFX & SWT 2
G Problem mit Kontextmenu(Popup Menü) AWT, Swing, JavaFX & SWT 3
G Menü hervorheben, wenn Item ausgewählt ist? AWT, Swing, JavaFX & SWT 2
B Menü-Bedienung mit Keys unter AWT! AWT, Swing, JavaFX & SWT 3
J Drop-down menü in Toolbar Button AWT, Swing, JavaFX & SWT 8
G Rechte Maustaste soll Menü aufrufen AWT, Swing, JavaFX & SWT 11
G Problem mit Menü/Button auf Hintergrundbild AWT, Swing, JavaFX & SWT 10
G Datei per Menü laden und und in JTextArea darstellen AWT, Swing, JavaFX & SWT 4
A Fenster über Menü schließen AWT, Swing, JavaFX & SWT 2
G Menü oder Layout? AWT, Swing, JavaFX & SWT 2
P Menü soll sich nur nach links aufbauen... AWT, Swing, JavaFX & SWT 7
I Swing: Menü verschwindet beim Einfügen eines Bildes AWT, Swing, JavaFX & SWT 15
J JTextField immer über Menü der JComboBox gezeichnet AWT, Swing, JavaFX & SWT 2
G menü AWT, Swing, JavaFX & SWT 9
C ActionListener für dynamisches Menü AWT, Swing, JavaFX & SWT 8
G Wie kann man ein Kontext-Menü erstellen? AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen


Oben