【发布时间】:2015-04-25 03:41:30
【问题描述】:
我正在用 Java 制作 Pong,并且我已经实现了主游戏,但我还希望在开始时弹出一个菜单屏幕。我创建了菜单屏幕,但是当我按下“开始游戏”按钮时,我不知道如何开始游戏。我有一个包含我的主要方法的类:
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() 方法并清除或“删除”我的 JFrame 中的菜单 JPanel 并将其替换为来自的 JPanel我的游戏课。这是菜单类中的 actionListener:
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand().equals("startgame")){
redraw = false;
//System.out.println("test");
PongRunner runner = new PongRunner();
runner.startGame();
}
}
关于如何做到这一点的任何想法?
【问题讨论】:
-
查看 CardLayout - 它可以让您一次显示一个 JPanel 并在它们之间切换。教程如下:docs.oracle.com/javase/tutorial/uiswing/layout/card.html.