我正在编写Java文本冒险游戏,并使用Java Swing作为在游戏屏幕上显示简单用户GUI的一种方式。我想要三个不同的窗口,一个作为开始屏幕,一个用于角色创建屏幕,用户在其中输入名称和一些属性,以及一个实际进行游戏的窗口。
我想在一个单独的类中编写每个屏幕,以增加代码的组织性和可读性。但是,每当我单击JButton转到下一个屏幕时,就会JFrame打开一个全新的内容。如何编写GUI,以便所有屏幕更改都在一帧之内完成?Java是否应该具有这样的功能?
我已经浏览了至少几十个Java Swing论坛问题,但仍然无法找出我在Java swing实现中做错了什么。
package guiPackage;
import javax.swing.*;
import thingsPackage.Player;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class StartGame extends JFrame {
JFrame Game;
JPanel buttonMenu, screen;
JButton newGame, settings, exit, loadGame;
public StartGame() {
Game = new JFrame();
Game.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Game.setVisible(true);
Game.setSize(750, 750);
Game.setLocationRelativeTo(null);
screen = new JPanel();
screen.setVisible(true);
TitleScreenHandler ts = new TitleScreenHandler();
buttonMenu = new JPanel();
newGame = new JButton("New Game");
newGame.addActionListener(ts);
loadGame = new JButton("LoadGame");
loadGame.addActionListener(ts);
settings = new JButton("Settings");
settings.addActionListener(ts);
exit = new JButton("Exit");
exit.addActionListener(ts);
Game.add(screen);
screen.add(buttonMenu, BorderLayout.SOUTH);
buttonMenu.add(newGame);
buttonMenu.add(loadGame);
buttonMenu.add(settings);
buttonMenu.add(exit);
}
一只名叫tom的猫
相关分类