使用多个JFrame:好还是坏的做法?[已关闭]
我正在开发一个显示图像并播放数据库中声音的应用程序。我正在尝试决定是否使用单独的JFrame将图像从GUI添加到数据库中。
我只是想知道使用多个JFrame窗口是否是一种好的做法?
我正在开发一个显示图像并播放数据库中声音的应用程序。我正在尝试决定是否使用单独的JFrame将图像从GUI添加到数据库中。
我只是想知道使用多个JFrame窗口是否是一种好的做法?
我只是想知道使用多个JFrame是否是好的做法?
糟糕(糟糕,糟糕)的做法。
在一个 GUI 中显示许多元素的方法有很多种,例如:
CardLayout
(简短演示)。适合:JInternalFrame
/JDesktopPane
通常用于 MDI。组件组的 JTabbedPane
。JSplitPane
一种显示两个组件的方法,其中一个或另一个组件(大小)之间的重要性根据用户正在执行的操作而变化。JLayeredPane
很多嘛..分层组件。JToolBar
通常包含一组操作或控件。可以在GUI周围拖动,也可以根据用户需要完全关闭它。如上所述,将根据父级这样做来最小化/还原。JList
中的项(下面的简单示例)。JTree
中的节点。但是,如果这些策略不适用于特定用例,请尝试以下操作。建立单个主 ,然后让 JDialog
或 JOptionPane
实例出现在其余自由浮动元素中,使用框架作为对话框的父级。JFrame
在这种情况下,如果多个元素是图像,则最好改用以下任一元素:
ImageViewer 所示
。JLabel
JList
自从我开始编写 Swing 应用程序以来,我一直在实施这种多重方法。在大多数情况下,我一开始就这样做了,因为我不知道更好。然而,随着我作为开发人员的经验和知识的成熟,并开始在线阅读和吸收许多更有经验的Java开发人员的意见,我试图从多种方法(在当前项目和未来项目中)转向,但遇到了......得到这个...来自我的客户的阻力!当我开始实现模式对话框来控制单独组件的“子”窗口时,我的客户开始抱怨!我很惊讶,因为我正在做我认为是最佳实践的事情!但是,正如他们所说,“幸福的妻子是幸福的生活。您的客户也是如此。当然,我是承包商,所以我的最终用户可以直接访问我,开发人员,这显然不是一个常见的情况。JFrame
JFrame
JInternalFrame
因此,我将解释多种方法的好处,以及打破其他人提出的一些缺点的神话。JFrame
JFrame
JFrame
JInternalFrame
JFrame
JDialog
JDialog
JInternalFrame
JFrames
JInternalFrame
JFrame
JInternalFrames
JFrame
SwingWorker
JFrame
open()
windowClosing()
JFrame
JInternalFrame
JFrame
dispose()
JInternalFrame
我写了很多,我觉得我可以写更多。无论如何,我希望我不会仅仅因为这是一个不受欢迎的观点而被否决。这个问题显然是一个有价值的问题,我希望我提供了一个有价值的答案,即使它不是普遍的看法。
多帧/单文档每帧 (SDI) 与单帧/多文档每帧 (MDI) 的一个很好的例子是 Microsoft Excel。MDI的一些好处:
SDI(单文档界面,即每个窗口只能有一个文档):
MDI(多文档界面,即每个窗口可以有多个文档):