Java 将其他类的方法返回的JPanel逐个分配给公共JPanel对象时出现问题
我正在创建安装应用程序。 我有一个初始化应用程序的主类;它有一个JFrame和2个JPanel变量,即panelX和panelY。这个主类创建一个JFrame并向其中添加panelX和panelY。在这些面板中,panelY有三个JButton(即Back、Next和Quit)。Panley在整个过程中保持原样。其中,panelX在“下一步”和“上一步”按钮的单击事件中更改其内容 我还有一些其他的课程。这些类有一个方法,返回添加了不同组件的JPanel 在我的代码中,当我单击“下一步”按钮以及“上一步”按钮时,会发生以下步骤 1) 我调用removeAll()方法来删除panelX的所有组件 2) panelX被分配为空 3) 调用上述类的相应方法并返回JPanel。这 返回的JPanel被分配给panelX 前Java 将其他类的方法返回的JPanel逐个分配给公共JPanel对象时出现问题,java,jpanel,removeall,Java,Jpanel,Removeall,我正在创建安装应用程序。 我有一个初始化应用程序的主类;它有一个JFrame和2个JPanel变量,即panelX和panelY。这个主类创建一个JFrame并向其中添加panelX和panelY。在这些面板中,panelY有三个JButton(即Back、Next和Quit)。Panley在整个过程中保持原样。其中,panelX在“下一步”和“上一步”按钮的单击事件中更改其内容 我还有一些其他的课程。这些类有一个方法,返回添加了不同组件的JPanel 在我的代码中,当我单击“下一步”按钮以及“
panelX.removeAll();
panelX=null;
panelX=getNextPanel();
4) 在上述步骤之后;我调用repaint();并在panelX上验证了该方法
前
问题是,当我按下下一步按钮时,它会显示正确的面板,但当我在单击下一步按钮两次后按下后退按钮,并在panelX上移动鼠标指针时,它也会显示上一个指定面板的组成部分
所以请告诉我朋友们我是如何解决这个问题的
谢谢大家! 不要将
panelX
设置为null或将变量重新分配给新的JPanel
相反,您可以通过在调用removeAll
使用后向现有的panelX
添加组件来重用它,如图所示
panelX.repaint();
panelX.validate();