Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将一个JFrame分配给另一个JFrame_Java_Swing_User Interface_Jframe_Variable Assignment - Fatal编程技术网

Java 将一个JFrame分配给另一个JFrame

Java 将一个JFrame分配给另一个JFrame,java,swing,user-interface,jframe,variable-assignment,Java,Swing,User Interface,Jframe,Variable Assignment,我试图使当前的JFrame成为存储在内存中的JFrame。目前,我正在从内存中正确读取JFrame,我可以让它显示出来,但所有的动作侦听器都不工作 gui.dispose(); gui = savedGUI; gui.setVisible(true); 这似乎没有正确地将当前GUI(GUI)设置为保存的版本(savedGUI)。我是否应该在gui上调用另一种方法而不是setVisible 提前谢谢 我也不太明白你在做什么。为什么您认为需要使用单个

我试图使当前的JFrame成为存储在内存中的JFrame。目前,我正在从内存中正确读取JFrame,我可以让它显示出来,但所有的动作侦听器都不工作

        gui.dispose();
        gui = savedGUI;
        gui.setVisible(true);
这似乎没有正确地将当前GUI(GUI)设置为保存的版本(savedGUI)。我是否应该在gui上调用另一种方法而不是setVisible


提前谢谢

我也不太明白你在做什么。为什么您认为需要使用单个引用变量引用GUI

只要做:

savedGui.setVisible( false );
如果要再次显示GUI,请执行以下操作:

savedGui.setVisible( true );

我也不太明白你在做什么。为什么您认为需要使用单个引用变量引用GUI

只要做:

savedGui.setVisible( false );
如果要再次显示GUI,请执行以下操作:

savedGui.setVisible( true );

当我确保所有ActionListeners实现可序列化时,问题就解决了。

当我确保所有ActionListeners实现可序列化时,问题就解决了。

为什么要这样做?总的目的是什么,因为我猜有更好的方法来完成您要做的事情,比如保存GUI的模型部分而不是视图。我所要做的就是从内存中加载GUI,就像它被保存时一样。保存应用程序模型的状态,然后根据此状态重新创建GUI会更好。我同意你可能是对的,但我想知道它们是否是重建存储的JFrame对象的一种方法?你为什么这样做?总的目的是什么,因为我猜有更好的方法来完成您要做的事情,比如保存GUI的模型部分而不是视图。我所要做的就是从内存中加载GUI,就像它被保存时一样。保存应用程序模型的状态,然后根据此状态重新创建GUI会更好。我同意你可能是对的,但我想知道它们是否是重建存储的JFrame对象的一种方法?将savedGUI设置为可见会显示GUI,但所有动作侦听器都已删除,这对我的程序至关重要。此人似乎遇到了相同的问题,使Gui不可见时您不会丢失侦听器。将savedGUI设置为可见会显示Gui,但所有操作侦听器都已删除,这对我的程序至关重要。这个人似乎遇到了同样的问题,当您使Gui不可见时,您不会丢失侦听器。为什么要将JFrame序列化为内存?为什么要将JFrame序列化为内存?