gpt4 book ai didi

java - JInternalFrame 的状态未保留

转载 作者:行者123 更新时间:2023-12-02 07:44:56 27 4
gpt4 key购买 nike

我正在处理与此错误相关的问题,我认为:DefaultDesktopManager does not handle InternalFrame state changes as expected.

我有以下情况:

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

  1. 问题:由于概述对话框已最大化,因此详细信息对话框也已最大化(与预期不同)。

  2. 问题:当详细信息对话框关闭时,概述对话框将失去其最大化状态。如果用户单击此对话框中的任何点,它将恢复最大化。这对用户来说非常丑陋且令人困惑。如果我在关闭详细对话框之前“取消最大化”它,则概述对话框也会失去其最大化状态并保持此状态。

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

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

DetailDialog detailDialog = new DetailDialog();
applicationFrame.getDesktopPane().add(detailDialog);
detailDialog.setVisible(true);

最佳答案

可能是问题

  1. 如果没有看到你的SSCCE,很难写出明智的东西。

  2. 您期望 JInternalFrame[] getAllFrames() 得到什么输出,有吗???

  3. 您期望 Internal Frame Listener 得到什么输出,有吗???

  4. 您是否将 JInternalFrame 放置到 JLayeredPane 中???

关于java - JInternalFrame 的状态未保留,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11030318/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com