Hallo liebe Java-Community,
ich bin (noch) ein total Java-Anfänger und habe gerade erst angefangen es zu lernen.
Momentan bin ich dabei ein kleines Projekt zu programmieren, besser gesagt, ein kleines Spiel.
Das ganze ist auch noch längst nicht fertig o.Ä.
Ich würde gerne wissen, wie ich durch das Klicken auf einen JButton ein 3. Fenster öffnen kann, und dabei das alte schließen.
Das Programm ist folgendermaßen aufgebaut:
Beim Starten befindet man sich in einem "StartingScreen", von dem aus wird man zum "Hauptmenü" weitergeleitet (was auch so bis jetzt geklappt hat) aber vom Hauptmenü aus soll man dann durch das betätigen eines JButton erneut in ein neues Fenster geschmissen werden. Ich habe schon probiert, das genau so zu machen wie ich auch vom 1. ins 2. Fenster geschmissen werde, das klappt jedoch nicht..
Eventuell gibts ja auch eine Methode, das "Hauptmenü" Fenster zu resetten, bzw zu clearen, damit man dann da neue Sachen einfügen kann.
Mein Code, von welchem ich ins 3. Fenster geschmissen soll sieht wie folgt aus sieht wie folgt aus:
Ich bedanke mich im Voraus für eure Hilfe!
Mit freundlichen Grüßen,
ich bin (noch) ein total Java-Anfänger und habe gerade erst angefangen es zu lernen.
Momentan bin ich dabei ein kleines Projekt zu programmieren, besser gesagt, ein kleines Spiel.
Das ganze ist auch noch längst nicht fertig o.Ä.
Ich würde gerne wissen, wie ich durch das Klicken auf einen JButton ein 3. Fenster öffnen kann, und dabei das alte schließen.
Das Programm ist folgendermaßen aufgebaut:
Beim Starten befindet man sich in einem "StartingScreen", von dem aus wird man zum "Hauptmenü" weitergeleitet (was auch so bis jetzt geklappt hat) aber vom Hauptmenü aus soll man dann durch das betätigen eines JButton erneut in ein neues Fenster geschmissen werden. Ich habe schon probiert, das genau so zu machen wie ich auch vom 1. ins 2. Fenster geschmissen werde, das klappt jedoch nicht..
Eventuell gibts ja auch eine Methode, das "Hauptmenü" Fenster zu resetten, bzw zu clearen, damit man dann da neue Sachen einfügen kann.
Mein Code, von welchem ich ins 3. Fenster geschmissen soll sieht wie folgt aus sieht wie folgt aus:
Code:
import java.awt.EventQueue;
import java.awt.Image;
import java.awt.Window;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JButton;
import java.awt.Font;
import java.awt.Color;
public class MainMenue extends JFrame {
private JPanel contentPane;
private JTextField textField;
private JTextField textField_1;
private JTextField textField_2;
private JTextField textField_3;
private JButton btnSpeichern;
private JTextField textField_4;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
MainMenue frame = new MainMenue();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public MainMenue() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 796, 550);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
// Textfelder zur Namenseingebung
textField = new JTextField();
textField.setBounds(184, 249, 140, 20);
contentPane.add(textField);
textField.setColumns(10);
textField_1 = new JTextField();
textField_1.setBounds(184, 280, 140, 20);
contentPane.add(textField_1);
textField_1.setColumns(10);
textField_2 = new JTextField();
textField_2.setBounds(184, 311, 140, 20);
contentPane.add(textField_2);
textField_2.setColumns(10);
textField_3 = new JTextField();
textField_3.setBounds(184, 342, 140, 20);
contentPane.add(textField_3);
textField_3.setColumns(10);
// Button um die Namen zu speichern
btnSpeichern = new JButton("Speichern");
btnSpeichern.setFont(new Font("Open Sans", Font.BOLD, 12));
btnSpeichern.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String Spieler1, Spieler2, Spieler3, Spieler4, Spieleranzahl;
try {
Spieler1 = textField.getText();
Spieler2 = textField_1.getText();
Spieler3 = textField_2.getText();
Spieler4 = textField_3.getText();
Spieleranzahl = ("Die folgenden Spieler nehmen teil: " + Spieler1 + ", " + Spieler2 + ", " + Spieler3 + ", " + Spieler4 + ".");
textField_4.setText(Spieleranzahl);
} catch (Exception ea) {
JOptionPane.showMessageDialog(null, "Die Spielernamen wurden nicht korrekt eingegeben");
}
}
});
btnSpeichern.setBounds(184, 373, 140, 42);
contentPane.add(btnSpeichern);
// Zahlen wurde zur Eingabe extra zugelassen, falls 2 Spieler gleichen Namen haben.
// Textfeld um die Namen auszugeben
textField_4 = new JTextField();
textField_4.setBounds(75, 426, 352, 74);
contentPane.add(textField_4);
textField_4.setColumns(10);
JButton btnLos = new JButton("Los");
btnLos.setFont(new Font("Open Sans", Font.BOLD, 20));
btnLos.setBackground(new Color(128, 0, 0));
btnLos.setForeground(Color.WHITE);
btnLos.setBounds(521, 426, 85, 74);
contentPane.add(btnLos);
// Hintergrundbild
JLabel label = new JLabel("");
Image img = new ImageIcon(this.getClass().getResource("/Spieler.png")).getImage();
label.setIcon(new ImageIcon(img));
label.setBounds(0, 0, 780, 511);
contentPane.add(label);
}
}
Ich bedanke mich im Voraus für eure Hilfe!
Mit freundlichen Grüßen,