java - 交换框架中的面板

标签 java panel frame

所以我有一个框架和2个面板,最初面板A显示在框架中。我已经设置好了,所以当在面板中单击按钮时,它会回调框架并运行这段代码。 (“splash”是最初显示的面板,“game”是我想在按下按钮后显示的面板)

public void startGame()
{
    System.out.println("starting game");
    remove(splash);

    gameThread = new Thread(game, "game thread");
    gameThread.start();
    add(game);

    /*
    this.setSize(0,0);
    this.setSize(450, 450);
    */
}

无论如何,这似乎可以很好地删除一个面板,但在调整窗口大小之前不会显示第二个面板。评论部分似乎解决了这个问题,但我忍不住认为有更好的方法来做到这一点。我浏览了 API,但没有发现任何有用的东西。

如果有人知道更好的方法,或者遇到过这个问题。请分享你的知识,这个让我难住了。

最佳答案

您应该使用 CardLayout对于这种事情,而不是删除和添加面板。

关于java - 交换框架中的面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4549091/

相关文章:

java - Gradle java 9+ 资源文件夹名称冲突

java - Apache Wicket Gmap3 不显示 div 中的 map

java - 如何在eclipse中独立执行包含两个类的程序?

java - 如何修复在 jpa 中需要正确实体 id 的 java.lang.IllegalArgumentException

java.lang.IllegalArgumentException : The given string value: { "In last 7 days" : 19 } cannot be transformed to Json object

java - 在 JPane 中安装 JTable 并垂直滚动

css - jQuery Mobile 面板和媒体查询

java - 如何清理面板中两点之间的线

android - 在android中创建帧动画

ios - AVCaptureVideoPreviewLayer 视频帧大小