Я делаю Pong на Java, и я уже реализовал основную игру, но я также хочу, чтобы экран меню всплывал в начале. Я создал экран меню, но я не могу понять, как начать игру, когда я нажимаю кнопку «начать игру». У меня есть класс, который содержит мой основной метод:Невозможно создать новый JPanel
public class main {
public static void main(String[]args)
{
PongRunner runner = new PongRunner();
runner.menuScreen();
//System.out.println(""+display.getHeight()+" "+display.getWidth());
}
}
И у меня есть класс для запуска меню и основной игры:
import javax.swing.JFrame;
public class PongRunner extends JFrame{
JFrame frame = new JFrame("MLG Pong");
public PongRunner()
{
}
public void menuScreen()
{
Menu menu = new Menu();
frame.add(menu);
frame.setSize(1280,720);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
}
public void startGame()
{
frame.removeAll();
game game = new game();
frame.add(game);
}
}
Я пытаюсь сделать так, когда я нажмите чтобы начать игру, я вызову метод startGame() и очистите или удаляю меню JPanel внутри моего JFrame и заменим его на JPanel из моего игрового класса. Вот список действий из класса меню:
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand().equals("startgame")){
redraw = false;
//System.out.println("test");
PongRunner runner = new PongRunner();
runner.startGame();
}
}
Любые идеи о том, как это сделать?
Выезд CardLayout - это позволит отображать один JPanel одновременно и переключаться между ними. Вот учебник: http://docs.oracle.com/javase/tutorial/uiswing/layout/card.html. – Amber