8.3.2 JDialog对话框

8.3.2 JDialog对话框

如果JOptionPane提供的样式无法满足我们的需求时,就需要使用JDialog来自行设计对话框。事实上,当使用JOptionPane时,系统会自动产生JDialog组件,并将JOptionPane的内容放入JDialog的ContentPane中,而不需要我们介入。用JDialog来制作对话框,必须实作对话框中的每一个组件,比较麻烦。然而,当我们想要了解对话框的更多细节时,必须学习JDialog的制作过程。

制作JDialog对话框必须创建JDialog对象,它的构造方法如下:

1.JDialog()

建立一个空的对话框。

2.JDialog(Dialog owner)

建立一个空的、没有对话框标题的、属于Dialog组件的对话框。

3.JDialog(Dialog owner,boolean modal)

使用指定的Dialog组件创建一个无标题、模态的对话框。

4.JDialog(Dialog owner,String title)

使用指定的Dialog组件创建一个有标题、非模态的对话框。

5.JDialog(Dialog owner,String title,boolean modal)

使用指定的Dialog组件创建一个有标题、模态的对话框。

6.JDialog(Frame owner)

使用指定的Frame组件创建一个无标题、非模态的对话框。

7.JDialog(Frame owner,boolean modal)

使用指定的Frame组件创建一个无标题、模态的对话框。

8.JDialog(Frame owner,String title)

使用指定的Frame组件创建一个有标题、非模态的对话框。

9.JDialog(Frame owner,String title,boolean modal)

使用指定的Frame组件创建一个有标题、模态的对话框。

说明:上述方法中的参数modal是对话框的操作模式,可分为模态和非模态两种。用modal参数的true与false表示,当modal为true时,称为模态对话框,它要求用户在应用程序继续执行之前必须对该对话框作出响应,关闭对话框后才能回到原来的应用程序继续执行;当modal为false时,称为非模态对话框,非模态对话框无上述要求。

使用JDialog与使用JFrame非常类似。要加入组件到JDialog上必须先取得JDialog的ContentPane,然后再把组件加到此ContentPane中。JDialog默认的版面管理器是BorderLayout,它是不可见的,可以使用show()方法显示它。