我正在编写一个程序,其中有一个JFrame,我想从中删除所有组件,然后只添加一个组件并重绘框架。到目前为止,我已经拥有了类似下面代码的东西(在实现JFrame的对象中调用,其中StartPanel实现了JPanel):
removeAll();
startPanel = new StartPanel();
startPanel.setVisible(true);
add(startPanel);
revalidate();
repaint();
然而,当我运行代码时,它显示一个空白窗口(而非 startPanel),并且当我最小化/调整窗口大小时,窗口会变成黑色。如果我省略 removeAll()
并且 JFrame 上没有任何元素,则它可以正常显示 startPanel。有没有办法真正删除所有内容,然后仍然显示新面板?