我正在编写一个简单的java游戏,我遇到了这个问题:
我的不同布局位于不同的 JPanel 中(1 个 JPanel 用于欢迎页面,我必须在其中按“开始游戏”,另一个 JPanel 具有实际功能)
我从 JFrame 开始游戏
import javax.swing.JFrame;
public class RType extends JFrame {
public RType() {
add(new Welcome());//first panel
add(new Board());//panel with the game
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(100, 100);
setResizable(false);
setVisible(true);
}
public static void main(String[] args) {
new RType();
}
}
显然,这会在第一个面板之后立即启动第二个面板,但我看不到第一个面板。
我尝试了一些东西,尝试在单击第一个面板时调用 main
方法中的第二个面板:
RType rt=new RType();
rt.add(new Board()); //in this case add(new Board()); is removed from constructor
但它什么也没做。 我该如何解决?
最佳答案
正如@nachokk所说,你应该使用CardLayout反而。它允许您在浏览器中执行诸如选项卡之类的操作,但如果您不想,则无需使选项卡对游戏可见。您首先使欢迎“卡”可见,然后当用户单击时切换到 Board
“卡”。
关于java - Swing:单击第一个 JPanel 时启动第二个 JPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17555182/