gpt4 book ai didi

java - 将其他类的方法返回的 JPanel 以一种又一种的方式分配给公共(public) JPanel 对象时出现问题

转载 作者:行者123 更新时间:2023-12-02 08:15:52 25 4
gpt4 key购买 nike

我正在创建一个安装应用程序。我有一个初始化应用程序的主类;它有一个 JFrame 和 2 个 JPanel 变量,即 panelX 和 panelY。该主类创建一个 JFrame 并向其中添加 panelX 和 panelY。在这些面板中,panelY 有三个 JButton(即“后退”、“下一步”和“退出”)。 panelY 在整个过程中保持原样。 panelX 在“下一步”和“后退”按钮的单击事件上更改其内容。

我还有一些其他类(class)。这些类有一个方法,该方法返回添加了不同组件的 JPanel。

在我的代码中,当我单击“下一步”按钮和“后退”按钮时,会发生以下步骤

1) 我调用removeAll()方法来删除panelX的所有组件

2) panelX 被赋值为 null。

3) 调用上述类的相应方法并返回 JPanel。这返回的 JPanel 被分配给 panelX。

例如。

panelX.removeAll();    
panelX=null;
panelX=getNextPanel();

4) 经过上述步骤;我调用 repaint();并在 panelX 上验证方法。

例如。

panelX.repaint();
panelX.validate();

问题是,当我按“下一步”按钮时,它会显示正确的面板,但是当我在两次单击“下一步”按钮后按“后退”按钮并将鼠标指针移动到 panelX 上时,它也会显示先前分配的面板的组件。

所以请 friend 们告诉我我是如何解决这个问题的。

谢谢!

最佳答案

使用 CardLayout ,如图here .

Game view High Scores view

关于java - 将其他类的方法返回的 JPanel 以一种又一种的方式分配给公共(public) JPanel 对象时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6464840/

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