Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.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 未保留JInternalFrame的状态_Java_Swing_Jframe_Jinternalframe_Maximize - Fatal编程技术网

Java 未保留JInternalFrame的状态

Java 未保留JInternalFrame的状态,java,swing,jframe,jinternalframe,maximize,Java,Swing,Jframe,Jinternalframe,Maximize,我正在处理一个与此bug相关的问题,我认为: 我有以下情况: 我的应用程序由一个JFrame组成,它可以有几个JInternalFrames。作为一个概览对话框,我有一个JInternalFrame,它被最大化并显示一个数据表。用户可以打开表中实体的详细信息对话框。详细信息对话框也是一个JInternalFrame 问题:由于“概述”对话框被最大化,因此“详细信息”对话框也被最大化(与预期不一样) 问题:关闭“详细信息”对话框时,“概述”对话框将失去其最大化状态。如果用户单击此对话框中的任何点,

我正在处理一个与此bug相关的问题,我认为:

我有以下情况:

我的应用程序由一个
JFrame
组成,它可以有几个
JInternalFrame
s。作为一个概览对话框,我有一个
JInternalFrame
,它被最大化并显示一个数据表。用户可以打开表中实体的详细信息对话框。详细信息对话框也是一个
JInternalFrame

  • 问题:由于“概述”对话框被最大化,因此“详细信息”对话框也被最大化(与预期不一样)

  • 问题:关闭“详细信息”对话框时,“概述”对话框将失去其最大化状态。如果用户单击此对话框中的任何点,它将返回最大化。这对用户来说是非常丑陋和混乱的。如果我在关闭细节对话框之前“取消最大化”,则概述对话框也会失去其最大化状态并保持在此状态

  • 在我看来,
    JFrame
    只能为其所有
    JInternalFrame
    保存一个全局状态。我不知道如何为此创建一个简单的解决方案。也许有人在过去遇到过这样的麻烦,可以指导我

    提供SSCCE有点困难,也许这就足够了,我通过以下方式显示详细信息对话框:

    DetailDialog detailDialog = new DetailDialog();
    applicationFrame.getDesktopPane().add(detailDialog);
    detailDialog.setVisible(true);
    
    可能是问题

  • 写一些明智的东西而不看你的

  • 您希望从中获得什么样的输出,是否有一些

  • 您希望从中获得什么样的输出,是否有一些

  • 您是否将JInternalFrame放置在JLayeredPane上


  • 我发现了我的错误。我正在为对话框使用一个控制器类,并将对话框的关闭委托给该类。例如,在控制器中,我必须进行一些验证,然后调用对话框的
    dispose()
    。现在我调用的是
    setClosed(true)
    ,它可以正常工作。我认为有一些触发事件丢失,现在被触发。

    我添加了一些代码,SSCCE可能有点太多了。。。我不用2。三,。所以我不期望这里有什么(我应该做什么?)。4.我没有使用
    LayeredPane
    如果这个类可以帮助我的话,我会看看它。从JInternalFrame[]getAllFrames()可以得到所有JInternalFrame和内部框架侦听器,它们讨论所有实现的事件,其中的一部分(正如我尝试的,可能是全部)你可以提供PropertyChangeListener我知道他们在做什么,但我希望有人有一个想法阻止我实现Swing应该做的事情。