JOptionPane与JDialog

时间:2012-02-17 00:11:23

标签: java swing jdialog joptionpane

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

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

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

我理解JOptionPane用于创建简单的快速&简单的模态对话框。我真的很想知道为什么在这种情况下人们会选择一个而不是另一个。哪一个更适合使用:JOptionPane与JDialog

此外,我可以使用一些指针,如何适当地设计和实现它。

谢谢。

2 个答案:

答案 0 :(得分:8)

这是我在Java网站上发现的一个声明,其中说明了两者之间的区别。

How to make Dialogs

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

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

答案 1 :(得分:2)

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

据我了解,JOptionPane非常适合它所能做的事情,但你无法真正改变功能(不容易)。如果你想创建自己的自定义Dialogs,JDialog最好继承。