java - Swing:单击第一个 JPanel 时启动第二个 JPanel

标签 java swing jframe jpanel

我正在编写一个简单的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“卡”。

enter image description here

关于java - Swing:单击第一个 JPanel 时启动第二个 JPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17555182/

相关文章:

java - 使用换行符的普遍接受的最佳实践

java - 如何用 Clojure 中动态创建的小部件替换 SeeSaw 小部件?

java - JFrame 显示但为空

java - 在 swing 中将表格添加到框架

java - 如果文件丢失,则在开始时显示弹出窗口

Java 如何获取ArrayList中元素的开始和结束位置

java - 使用 Blowfish 时如何修复 Java 中的 NoSuchAlgorithmException?

java - JXMultiSplitPane 在 slider 调整期间导致重新绘制?

java - 一步步在JPanel上绘图

java - 无法删除 ParseObject