我正在处理一个与我认为的这个错误有关的问题:DefaultDesktopManager 没有按预期处理 InternalFrame 状态更改。
我有以下情况:
我的应用程序由一个JFrame
可以有几个JInternalFrame
s 组成。作为一个概览对话框,我有一个JInternalFrame
最大化并显示数据表的对话框。用户可以打开表中实体的详细信息对话框。详细信息对话框也是一个JInternalFrame
.
问题:因为概览对话框被最大化,所以细节对话框也被最大化(不像预期的那样)。
问题:当详细对话框关闭时,概览对话框失去其最大化状态。如果用户单击此对话框中的任何点,它将返回最大化。这对用户来说非常丑陋和困惑。如果我在关闭之前“取消最大化”详细信息对话框,则概览对话框也会失去其最大化状态并保持在此状态。
在我看来,它的所有sJFrame
只能保持一个全局状态。JInternalFrame
我不知道如何为此创建一个简单的解决方法。也许过去有人遇到过这个问题并且可以指导我。
提供 SSCCE 有点困难,也许这就足够了,我通过这个来显示详细对话框:
DetailDialog detailDialog = new DetailDialog();
applicationFrame.getDesktopPane().add(detailDialog);
detailDialog.setVisible(true);