From 72f0dcd1af599337a463f064e86339464c94121b Mon Sep 17 00:00:00 2001 From: Samita Adhikari <sadhika7@myune.edu.au> Date: Sat, 23 Sep 2023 03:04:04 +0545 Subject: [PATCH] Small Refactor --- app/src/main/java/brickbreaker/App.java | 13 ++++++++++--- app/src/main/java/brickbreaker/GamePanel.java | 2 ++ app/src/main/java/brickbreaker/Menu.java | 10 ++++++---- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/brickbreaker/App.java b/app/src/main/java/brickbreaker/App.java index c73fede..98893d2 100644 --- a/app/src/main/java/brickbreaker/App.java +++ b/app/src/main/java/brickbreaker/App.java @@ -13,11 +13,10 @@ public class App { public static Menu mainMenu; public static GamePanel gamePanel; public static ScoringSystem scoreSystem = new ScoringSystem(); + public static JFrame frame; public static void main(String[] args) { - - JFrame frame = new JFrame(); - + frame = new JFrame(); frame.setBounds(10, 10, 700, 600); frame.setTitle("Brick Breaker"); frame.setResizable(false); @@ -29,4 +28,12 @@ public class App { frame.setVisible(true); } + + public static void createGame() { + App.gamePanel = new GamePanel(frame); + } + + public static void createMainMenu() { + App.mainMenu = new Menu(frame); + } } diff --git a/app/src/main/java/brickbreaker/GamePanel.java b/app/src/main/java/brickbreaker/GamePanel.java index a3fa4f3..c8f282d 100644 --- a/app/src/main/java/brickbreaker/GamePanel.java +++ b/app/src/main/java/brickbreaker/GamePanel.java @@ -101,6 +101,8 @@ public class GamePanel extends JPanel implements ActionListener { @Override public void actionPerformed(ActionEvent e) { frame.remove(thisPanel); + if(App.mainMenu == null) App.createMainMenu(); + App.mainMenu.show(); frame.revalidate(); frame.repaint(); diff --git a/app/src/main/java/brickbreaker/Menu.java b/app/src/main/java/brickbreaker/Menu.java index c966715..c975b6f 100644 --- a/app/src/main/java/brickbreaker/Menu.java +++ b/app/src/main/java/brickbreaker/Menu.java @@ -27,6 +27,7 @@ public class Menu extends JPanel { private JFrame frame; private Timer animationTimer; private int textPosition = -200; + public Menu(JFrame frame) { this.frame = frame; initComponents(); @@ -117,7 +118,7 @@ public class Menu extends JPanel { guest.setActionCommand("play"); guest.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); guest.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); - guest.setLabel("Play as Guest"); + guest.setLabel("Play Now"); guest.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { guestActionPerformed(evt); @@ -150,7 +151,7 @@ public class Menu extends JPanel { .addGap(301, 301, 301) .addComponent(registerButton)) .addGroup(layout.createSequentialGroup() - .addGap(282, 282, 282) + .addGap(301, 301, 301) .addComponent(guest)) .addGroup(layout.createSequentialGroup() .addGap(290, 290, 290) @@ -185,7 +186,9 @@ public class Menu extends JPanel { private void guestActionPerformed(java.awt.event.ActionEvent evt) { this.setVisible(false); - + if(App.gamePanel == null) + App.createGame(); + frame.add(App.gamePanel); } private void highScoreActionPerformed(java.awt.event.ActionEvent evt) { @@ -209,7 +212,6 @@ public class Menu extends JPanel { if(App.user != null) { this.remove(loginButton); this.remove(registerButton); - this.remove(guest); } frame.add(this); -- GitLab