diff --git a/src/GameBoard.java b/src/GameBoard.java new file mode 100644 index 0000000..61bdb72 --- /dev/null +++ b/src/GameBoard.java @@ -0,0 +1,3 @@ +public class GameBoard { + +} diff --git a/src/LocalGamePanel.java b/src/LocalGamePanel.java new file mode 100644 index 0000000..38dd7d7 --- /dev/null +++ b/src/LocalGamePanel.java @@ -0,0 +1,23 @@ +import javax.swing.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +public class LocalGamePanel extends JPanel { + + public LocalGamePanel(MainFrame frame) { + setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); + + JLabel label = new JLabel("Lokales Spiel"); + JButton backButton = new JButton("Zurück zum Hauptmenü"); + backButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + frame.showPanel("MainMenu"); + } + }); + + add(label); + add(Box.createVerticalStrut(20)); + add(backButton); + } +} diff --git a/src/MainFrame.java b/src/MainFrame.java new file mode 100644 index 0000000..e75dec3 --- /dev/null +++ b/src/MainFrame.java @@ -0,0 +1,46 @@ +import javax.swing.*; +import java.awt.*; + +public class MainFrame extends JFrame { + + private CardLayout cardLayout; + private JPanel mainPanel; + + public MainFrame() { + setTitle("Spiel UI mit CardLayout"); + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + setSize(800, 600); + + // Erstelle das CardLayout und das Hauptpanel + cardLayout = new CardLayout(); + mainPanel = new JPanel(cardLayout); + + // Erstelle die verschiedenen Panels + MainMenuPanel mainMenuPanel = new MainMenuPanel(this); + LocalGamePanel localGamePanel = new LocalGamePanel(this); + MultiplayerGamePanel multiplayerGamePanel = new MultiplayerGamePanel(this); + + // Füge die Panels dem CardLayout hinzu + mainPanel.add(mainMenuPanel, "MainMenu"); + mainPanel.add(localGamePanel, "LocalGame"); + mainPanel.add(multiplayerGamePanel, "MultiplayerGame"); + + // Setze das Hauptpanel in das JFrame + add(mainPanel); + + // Zeige das Hauptmenü an + cardLayout.show(mainPanel, "MainMenu"); + } + + // Methode, um die Ansicht zu wechseln + public void showPanel(String panelName) { + cardLayout.show(mainPanel, panelName); + } + + public static void main(String[] args) { + SwingUtilities.invokeLater(() -> { + MainFrame frame = new MainFrame(); + frame.setVisible(true); + }); + } +} diff --git a/src/MainMenuPanel.java b/src/MainMenuPanel.java new file mode 100644 index 0000000..d642f00 --- /dev/null +++ b/src/MainMenuPanel.java @@ -0,0 +1,32 @@ +import javax.swing.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +public class MainMenuPanel extends JPanel { + + public MainMenuPanel(MainFrame frame) { + setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); + + // Button für "Lokales Spiel Starten" + JButton localGameButton = new JButton("Lokales Spiel Starten"); + localGameButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + frame.showPanel("LocalGame"); + } + }); + + // Button für "Multiplayer Spiel Starten" + JButton multiplayerButton = new JButton("Multiplayer Spiel Starten"); + multiplayerButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + frame.showPanel("MultiplayerGame"); + } + }); + + add(localGameButton); + add(Box.createVerticalStrut(20)); // Abstand zwischen den Buttons + add(multiplayerButton); + } +} diff --git a/src/MultiplayerGamePanel.java b/src/MultiplayerGamePanel.java new file mode 100644 index 0000000..4955a81 --- /dev/null +++ b/src/MultiplayerGamePanel.java @@ -0,0 +1,23 @@ +import javax.swing.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +public class MultiplayerGamePanel extends JPanel { + + public MultiplayerGamePanel(MainFrame frame) { + setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); + + JLabel label = new JLabel("Multiplayer Spiel"); + JButton backButton = new JButton("Zurück zum Hauptmenü"); + backButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + frame.showPanel("MainMenu"); + } + }); + + add(label); + add(Box.createVerticalStrut(20)); + add(backButton); + } +}