java如何用处于相同位置的另一个JPanel替换一个JPanel?
我有一个JFrame,大约有四个框架。在给定的操作之后,我想在相同的位置用另一个面板替换一个面板。我切换它们的方法如下所示(this
对象是一个扩展了JFrame
的类):
public void switchPanel(){
mainPanel.remove(introPanel);
mainPanel.add(questionPanel);
this.repaint();
}
最初创建的窗口如下所示:
mainPanel.add(titlePanel);
mainPanel.add(sidePanel);
mainPanel.add(introPanel);
# 1 楼答案
在remove方法之后,您必须运行validate方法,仅此而已。代码如下所示:
我希望这有帮助。萨拉姆
# 2 楼答案
你问:
非常简单:使用CardLayout,因为这个工具就是为这种情况构建的
如果您具有以下常量:
加上你的JPanel是这样的
然后,您可以将JPanel与以下内容交换:
假设将questionPanel添加到主面板时使用的questionPanel是字符串常量,并且主面板使用CardLayout,则显示交换所需的全部内容
例如: