【发布时间】:2011-11-13 22:32:16
【问题描述】:
有没有办法从 Java 应用程序中列出屏幕上可见的所有当前打开/活动(我不确定这里的术语)JFrames?感谢您的帮助。
【问题讨论】:
-
这具有明显的不良设计气味。应用程序中通常应该只有一个框架。如果创建了其他值得担心的顶级组件,请保留对它们的引用。
-
你可能是对的,但我没有丰富的编程经验,我只是想测试一个替代想法。感谢您的评论和回答。
-
我会稍微扩展一下该评论。一般是一个应用程序。会有1帧。使用任何数量的巧妙技术将多个组件塞入一个 GUI(例如
CardLayout、JSplitPane、JTabbedPane、JDesktopPane/JInternalFrame..)而无法包含在框架中的任何其他内容都可以显示在JDialog或JOptionPane。第二个默认是模态的,而第一个可以指定为模态的。这意味着用户对父JFrame的输入在对话框打开时被阻止。对于获得更多输入等事情,模态非常方便。 -
不,没有任何不好的气味。这是一个有效的设计选择。实际上,我们现在开始在 JavaX 中依赖它。
标签: java swing list methods jframe