我正在创建一个设置应用程序。我有一个初始化应用程序的主类;它有一个 JFrame 和 2 个 JPanel 变量,即 panelX 和 panelY。这个主类创建一个 JFrame 并向其添加 panelX 和 panelY。在这些面板中,panelY 具有三个 JButton(即 Back、Next 和 Quit)。panelY 在整个过程中保持不变。其中 panelX 更改其内容,如 Next 和 Back Button 的单击事件。
我还有一些其他的课程。这些类有一个返回 JPanel 的方法,其中添加了不同的组件。
在我的代码中,当我单击下一步按钮以及后退按钮时,会出现以下步骤
1) 我调用 removeAll() 方法来删除 panelX 的所有组件
2) panelX 被赋值为空。
3) 调用上述类的各个方法并返回JPanel。这个返回的 JPanel 被分配给 panelX。
前任。
panelX.removeAll();
panelX=null;
panelX=getNextPanel();
4)经过上述步骤;我调用 repaint(); 并在 panelX 上验证方法。
前任。
panelX.repaint();
panelX.validate();
问题是当我按下下一个按钮时,它会显示正确的面板,但是当我在两次单击下一个按钮并在 panelX 上移动鼠标指针后按下后退按钮时,它也会显示上一个分配的面板的组件。
所以请朋友告诉我我是如何解决这个问题的。
谢谢你!