当前位置: 首页 > 面试题库 >

使用多个JFrame:好的还是不好的做法?

盖翰池
2023-03-14
问题内容

我正在开发一个显示图像并播放数据库声音的应用程序。我正在尝试确定是否使用单独的JFrame从GUI向数据库添加图像。

我只是想知道使用多个JFrame窗口是否是一种好习惯?


问题答案:

我只是想知道使用多个JFrames是否是一种好习惯?

坏习惯(坏习惯)。

用户不友好:用户只希望看到一个图标时,会在任务栏中看到多个图标。加上编码问题的副作用。 * 编写和维护代码的噩梦:
* 一个模态对话框提供对对话内容的轻松机会,重点关注-选择/修复/取消,然后继续。多个帧则没有。
* 单击父级时,带有父级的对话框(或浮动工具栏)将显示在最前面-如果这是所需的行为,则必须在框架中实现。
有多种方法可以在一个GUI中显示许多元素,例如:


  • CardLayout(简短演示。)。适用于:
  • 显示向导之类的对话框。
  • 显示具有关联组件的项目的列表,树等选择。
  • 在无组件和可见组件之间翻转。
  • JInternalFrame/JDesktopPane通常用于MDI。
  • JTabbedPane 用于组件组。
  • JSplitPane一种显示两个组件的方法,其中两个组件之间的重要性(大小)根据用户的操作而变化。
    JLayeredPane 许多很好的..layered组件。
    JToolBar通常包含一组动作或控件。可以在GUI上拖动,或完全根据用户需要将其关闭。如上所述,将根据父级的操作将其最小化/还原。
    作为项目中的项目JList(下面是一个简单的示例)。
    作为中的节点JTree。
    嵌套的布局。

但是,如果这些策略不适用于特定用例,请尝试以下方法。建立单个main JFrame,然后使用框架作为对话框的父级,为其余的自由浮动元素显示JDialog或JOptionPane实例。

许多图像

在多个元素是图像的情况下,最好使用以下任一方法:

  1. 单个JLabel(位于滚动窗格的中央)显示当时用户感兴趣的任何图像。如图所示ImageViewer

  2. 单行JList。从这个答案中可以看出。仅当它们的尺寸相同时,“单行”部分才有效。或者,如果您准备即时缩放图像,并且它们的纵横比都相同(例如4:3或16:9)。



 类似资料:
  • 问题内容: 我在Linux(CentOS 5.3)上有一个C ++程序,它产生多个线程,这些线程处于无限循环中,以执行工作并在特定的时间内hibernate。现在,我必须取消正在运行的线程,以防出现新的配置通知并重新启动新的线程集,为此我使用了pthread_cancel。我观察到的是,即使收到取消指示,线程也不会停止,甚至在完成睡眠后也会出现一些睡眠线程。 由于不希望出现这种行为,因此在上述情况

  • 问题内容: 在Python中,假设我有一些从Shape继承的类Circle。形状需要x和y坐标,此外,圆需要半径。我希望能够通过执行以下操作来初始化Circle, Circle继承自shape,因此我需要对使用命名参数,因为不同的类需要不同的构造函数。我可以手动设置x,y和r。 或者,我可以使用以下方式自动设置“圈子”的属性 这样做的好处是代码更少,并且我不需要维护样板。缺点是,Circle需要哪

  • 这里使用parentNode好?还是parentElement好? 这是bootstrap中的一段代码,用来查找一个元素的祖先元素中所有匹配selector的元素。 我觉的应该使用parentElement更合适一些。 closet是Element上一的一个方法。 要查找的应该是Element,而不是像Text,Comment这样的Node。 当然这里使用parentNode也是可行的,一般会返回

  • 问题内容: 我的问题如下。我应该避免在Angular应用程序中使用任何种类的jQuery代码,因为与DOM交互只有一件事是合法的。另一个问题是,是否有人遇到无法找到其他解决方案但只能用jQuery快速编写代码的问题。 谢谢! 问题答案: 是的,这是一个不好的做法,但是有时它可以为您节省很多时间,特别是在您寻找插件时,仅在必要时执行此操作,并在其他解决方案可用时记下备注以将其切换回原来的状态。

  • 问题内容: 过去,我使用以下方法读取大量代码: 这样做是惯例吗? 优点和缺点是什么? 在我看来,这就像完成异常的“ Agent Orange”方式 编辑 处理方法中的预期异常 引发意外异常(一对一) 不在乎错误 那是路要走吗? 问题答案: 你不应该扔。这就是为什么。 Throwable是可抛出的事物层次结构的顶部,由and组成。由于根据定义是由不可挽救的条件引起的,因此将它们包括在方法声明中是没有

  • 本文向大家介绍php做一次开发好,还是二次开发好?相关面试题,主要包含被问及php做一次开发好,还是二次开发好?时的应答技巧和注意事项,需要的朋友参考一下 一般中小企业都用cms系统二次开发,都是为了效率。当然如果想一次开发也行,会用框架而且时间充足的话就可以了,大企业都是团队来开发的,杜绝版权问题。