final/src/GameFrame.java

37 lines
1.2 KiB
Java
Raw Normal View History

2022-05-30 19:46:53 +01:00
/* GameFrame class establishes the frame (window) for the game
2022-05-30 19:36:18 +01:00
It is a child of JFrame because JFrame manages frames
2022-05-30 19:46:53 +01:00
Runs the constructor in GamePanel class
*/
2022-05-30 19:36:18 +01:00
import java.awt.*;
import javax.swing.*;
public class GameFrame extends JFrame{
MenuPanel menu;
GamePanel game;
boolean startGame = false;
2022-05-30 19:36:18 +01:00
2022-05-30 19:46:53 +01:00
public GameFrame(){
menu = new MenuPanel();
while (!startGame) {
startGame = menu.hasButtonClicked();
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
menu.setVisible(false); // hide menu when game has launched
game = new GamePanel(); //run GamePanel constructor
this.add(game);
2022-05-30 19:46:53 +01:00
this.setTitle("GUI is cool!"); //set title for frame
this.setResizable(false); //frame can't change size
this.setBackground(Color.white);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //X button will stop program execution
this.pack();//makes components fit in window - don't need to set JFrame size, as it will adjust accordingly
this.setVisible(true); //makes window visible to user
this.setLocationRelativeTo(null);//set window in middle of screen
}
2022-05-30 19:36:18 +01:00
}