我只是想知道使用多个Jframes是否是一种好习惯?
坏习惯(坏习惯)。
用户不友好:用户只希望看到一个图标时,会在任务栏中看到多个图标。加上编码问题的副作用。* 编写和维护代码的噩梦:
* 一个模态对话框提供对对话内容的轻松机会,重点关注-选择/修复/取消,然后继续。多个帧则没有。
* 单击父级时,带有父级的对话框(或浮动工具栏)将显示在最前面-如果这是所需的行为,则必须在框架中实现。
有多种方法可以在一个GUI中显示许多元素,例如:
CardLayout
(简短演示。)。适用于:- 显示向导之类的对话框。
- 显示具有关联组件的项目的列表,树等选择。
- 在无组件和可见组件之间翻转。
JInternalframe/JDesktopPane
通常用于MDI。JTabbedPane
用于组件组。JSplitPane
一种显示两个组件的方法,其中两个组件之间的重要性(大小)根据用户的操作而变化。
JLayeredPane 许多很好的..layered组件。
JToolBar通常包含一组动作或控件。可以在GUI上拖动,或完全根据用户需要将其关闭。如上所述,将根据父级的操作将其最小化/还原。
作为项目中的项目JList(下面是一个简单的示例)。
作为中的节点JTree。
嵌套的布局。
但是,如果这些策略不适用于特定用例,请尝试以下方法。建立单个main Jframe,然后使用框架作为对话框的父级,为其余的自由浮动元素显示JDialog或JOptionPane实例。
许多图像
在多个元素是图像的情况下,最好使用以下任一方法:
单个
JLabel
(位于滚动窗格的中央)显示当时用户感兴趣的任何图像。如图所示ImageViewer
。单行
JList
。从这个答案中可以看出。仅当它们的尺寸相同时,“单行”部分才有效。或者,如果您准备即时缩放图像,并且它们的纵横比都相同(例如4:3或16:9)。



