【问题标题】:JOptionPane vs. JDialogJOptionPane 与 JDialog
【发布时间】:2012-03-08 10:22:15
【问题描述】:

这是 Javaranch 中线程的交叉帖子(包括一些图像):http://www.coderanch.com/t/567472/GUI/java/Optimal-solution-creating-multiple-dialog

我正在尝试开发一个简单的摇摆桌面应用程序,我想在其中有很多不同的对话框跳来跳去以获取用户输入。需要在各种对话框窗口中显示标签、文本字段、密码字段、组合框、复选框等。

例如:直接创建数据库、创建第一个管理员帐户、添加用户、更改用户帐户等。

我知道 JOptionPane 用于创建简单快捷的模态对话框。我真的很想知道为什么在这种情况下会选择一个而不是另一个。哪个更可取:JOptionPane vs. JDialog

我也可以使用一些指针来适当地设计和实现这一点。

谢谢。

【问题讨论】:

标签: java swing jdialog joptionpane


【解决方案1】:

这是我在 Java 网站上找到的一份声明,其中提到了两者之间区别的一个关键点。

How to make Dialogs

对话框可以是模态的。当模态对话框可见时,它会阻止用户对程序中所有其他窗口的输入。 JOptionPane 创建模态的 JDialog。要创建非模态Dialog,必须直接使用JDialog类。

因此,如果您希望用户在返回主屏幕之前必须做出选择并关闭框,那么听起来您会使用 JOptionPane。如果您使用 JDialog 框,那么他们只需单击它并返回主屏幕而无需做出选择。例如,假设您想让用户在单击提交之前选择结果数,您不希望他们能够在该窗口周围单击并单击提交。您可以使用 JOptionPane 强制他们先选择一个值,然后再返回提交。

【讨论】:

    【解决方案2】:

    查看http://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html,它几乎拥有您需要的一切。

    据我了解,JOptionPane 非常适合它的功能,但除此之外您无法真正更改功能(不容易)。如果您想创建自己的自定义对话框,最好继承 JDialog。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-02
      • 1970-01-01
      • 2014-02-11
      • 2022-01-13
      • 2019-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多