The Use of Multiple JFrames: Good or Bad Practice?(使用多个 JFrame:好的还是坏的做法?)
问题描述
我正在开发一个应用程序,它可以显示图像并播放数据库中的声音.我正在尝试决定是否使用单独的 JFrame 从 GUI 将图像添加到数据库中.
我只是想知道使用多个 JFrame 窗口是否是一种好习惯?
我只是想知道使用多个 JFrame 是否是一种好习惯?
坏(坏,坏)的做法.
- 用户不友好:用户在他们的任务栏中看到多个图标,而希望只看到一个.加上编码问题的副作用..
- 编码和维护的噩梦:
- 或 中所示.仅当它们的尺寸都相同时,单行"部分才有效.或者,如果您准备动态缩放图像,并且它们都是相同的纵横比(例如 4:3 或 16:9).
- User unfriendly: The user sees multiple icons in their task bar when expecting to see only one. Plus the side effects of the coding problems..
- A nightmare to code and maintain:
- A modal dialog offers the easy opportunity to focus attention on the content of that dialog - choose/fix/cancel this, then proceed. Multiple frames do not.
- A dialog (or floating tool-bar) with a parent will come to front when the parent is clicked on - you'd have to implement that in frames if that was the desired behavior.
CardLayout
(short demo.). Good for:- Showing wizard like dialogs.
- Displaying list, tree etc. selections for items that have an associated component.
- Flipping between no component and visible component.
JInternalFrame
/JDesktopPane
typically used for an MDI.JTabbedPane
for groups of components.JSplitPane
A way to display two components of which the importance between one or the other (the size) varies according to what the user is doing.JLayeredPane
far many well ..layered components.JToolBar
typically contains groups of actions or controls. Can be dragged around the GUI, or off it entirely according to user need. As mentioned above, will minimize/restore according to the parent doing so.- As items in a
JList
(simple example below). - As nodes in a
JTree
. - Nested layouts.
- A single
JLabel
(centered in a scroll pane) to display whichever image the user is interested in at that moment. As seen inImageViewer
. - A single row
JList
. As seen in this answer. The 'single row' part of that only works if they are all the same dimensions. Alternately, if you are prepared to scale the images on the fly, and they are all the same aspect ratio (e.g. 4:3 or 16:9).
I'm developing an application which displays images, and plays sounds from a database. I'm trying to decide whether or not to use a separate JFrame to add images to the database from the GUI.
I'm just wondering whether it is good practice to use multiple JFrame windows?
解决方案I'm just wondering whether it is good practice to use multiple JFrames?
Bad (bad, bad) practice.
There are any number of ways of displaying many elements in one GUI, e.g.:
But if those strategies do not work for a particular use-case, try the following. Establish a single main
JFrame
, then haveJDialog
orJOptionPane
instances appear for the rest of the free-floating elements, using the frame as the parent for the dialogs.Many images
In this case where the multiple elements are images, it would be better to use either of the following instead:
这篇关于使用多个 JFrame:好的还是坏的做法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:使用多个 JFrame:好的还是坏的做法?
基础教程推荐
- 首次使用 Hadoop,MapReduce Job 不运行 Reduce Phase 2022-01-01
- 如何使用 Stream 在集合中拆分奇数和偶数以及两者的总和 2022-01-01
- 在螺旋中写一个字符串 2022-01-01
- Spring Boot Freemarker从2.2.0升级失败 2022-01-01
- 如何对 HashSet 进行排序? 2022-01-01
- 如何强制对超级方法进行多态调用? 2022-01-01
- Java 中保存最后 N 个元素的大小受限队列 2022-01-01
- 如何在不安装整个 WTP 包的情况下将 Tomcat 8 添加到 Eclipse Kepler 2022-01-01
- 由于对所需库 rt.jar 的限制,对类的访问限制? 2022-01-01
- 如何使用 Eclipse 检查调试符号状态? 2022-01-01