java应用程序中的清除按钮

java应用程序中的清除按钮,java,garbage-collection,Java,Garbage Collection,我的代码由三个类组成,比如:x(扩展JFrame)、y(扩展JPanel)和z。x具有主要功能。它有边框布局,其中有两个面板:左面板和中面板。左面板有一堆jbutton和JTextFields,用户在其中输入他的值,这些值用于将一些内容绘制到由y类处理的中心面板中 z类由y类用于一般计算目的。现在我几乎完成了程序的制作,正在我左边面板上的“清除”按钮上工作,该按钮将清除用户输入的所有文本以及在我的中心面板中绘制的内容(由y类处理) 我可以做的是将一些值设置为它们的默认值,然后在我的中心面板上重新

我的代码由三个类组成,比如:x(扩展JFrame)、y(扩展JPanel)和z。x具有主要功能。它有边框布局,其中有两个面板:左面板和中面板。左面板有一堆jbutton和JTextFields,用户在其中输入他的值,这些值用于将一些内容绘制到由y类处理的中心面板中

z类由y类用于一般计算目的。现在我几乎完成了程序的制作,正在我左边面板上的“清除”按钮上工作,该按钮将清除用户输入的所有文本以及在我的中心面板中绘制的内容(由y类处理)

我可以做的是将一些值设置为它们的默认值,然后在我的中心面板上重新绘制(),但问题是,在我的z类(由y实例化)中有很多变量,然后又有很多变量

这变得令人困惑和厌烦,所以我想如果有任何方法可以(我违反了垃圾收集的规则)我可以在我的x类中杀死y的实例并创建一个新实例。那太好了。告诉我在这种情况下该怎么办。谢谢

编辑:我希望“清除”按钮删除已绘制到面板中的内容,这样我可以在我的x类中执行此操作吗

remove(myRightpanelInstance);
myRightPanel myRightpanelInstance2 = new myRightPanel();
add(myRightpanelInstance2, BorderLayout.CENTER);

顺便说一句,它不起作用。

根据您的编辑,您希望添加一个新面板并覆盖旧面板。你可以简单地:

 MyRightPanel myRightPanelInstance2 = new myRightPanel();
 add(myRightPanelInstance2, BorderLayout.CENTER);
这将用新面板覆盖现有面板

确保此代码位于“清除”按钮的侦听器中。只有在侦听器内调用此代码时才会发生这种情况

  clearButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            //Either above code here or above code in a method and method call here
        }
    })

我不明白你想做什么,我想为我的java应用程序做一个清晰的按钮。它将清除之前所做的任何操作,并使程序为下一次计算做好准备。请共享一些代码,以便我们能够更好地了解您尝试执行的操作。这与垃圾收集有什么关系?如果实例化一个新对象是有意义的,那么就去做。因为我不知道你的实现。我假设您正在Y类的方法中创建Z类的对象,并调用Z类的函数。因此,当您退出该方法时,对象将被垃圾收集。没有必要清除Z类变量的值因为它不会因为某种原因覆盖旧的变量,我完全按照你说的做了。