gpt4 book ai didi

java - 如何切换不同类的 JPanel

转载 作者:行者123 更新时间:2023-12-01 08:10:54 24 4
gpt4 key购买 nike

我有三个类,一个是 JFrame 类,两个是 JPanel 类。我已将初始 JPanel 添加到 JFrame 中,如下所示

 public JFrame() {

add(new 1stPanel(this));


setVisible(true);
setLayout(null);
}

然后我想在第一个面板中的按钮上使用 Action 监听器来删除它并添加另一个类中的另一个面板。我尝试给每个类一个变量并使用简单的remove()和add(),如下所示:

private 1stpanel 1p;
private 2ndpanel 2p;

btn.addActionListener((new ActionListener(){
public void actionPerformed(ActionEvent e)
{
remove(1p);
add(2p);
validate();
repaint();
}
}));

这不起作用我也尝试过使用 JFrame.remove(1p) 但这也不起作用。当我执行removeAll()时,它会删除第一个面板JPanel中的所有内容,但我无法添加第二个面板。我可以使用什么代码取出第一个面板或第一个面板类并添加另一个类中的第二个面板。感谢您提前提供的帮助。

最佳答案

尝试使用CardLayout并交换卡片(面板)。

您的问题可能是创建add(new 1stPanel(this))。您添加一个局部变量,然后使用类的字段。

关于java - 如何切换不同类的 JPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17423555/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com