在swing中,对话框有几种,并写出它们的主要区别
1个回答

Swing中提供了JOptionPane类来实现类似Windows平台下的MessageBox的功能,同样在Java中也有,利用 JOptionPane类中的各个static方法来生成各种标准的对话框,实现显示出信息、提出问题、警告、用户输入参数等功能.这些对话框都是模式对话框.

ConfirmDialog --- 确认对话框,提出问题,然后由用户自己来确认(按"Yes"或"No"按钮)

InputDialog --- 提示输入文本

MessageDialog --- 显示信息

OptionDialog -- 组合其它三个对话框类型.

这四个对话框可以采用showXXXDialog()来显示,如showConfirmDialog()显示确认对话框、 showInputDialog()显示输入文本对话框、showMessageDialog()显示信息对话框、showOptionDialog() 显示选择性的对话框.它们所使用的参数说明如下:

① ParentComponent:指示对话框的父窗口对象,一般为当前窗口.也可以为null即采用缺省的Frame作为父窗口,此时对话框将设置在屏幕的正中.

② message:指示要在对话框内显示的描述性的文字

③ String title:标题条文字串.

④ Component:在对话框内要显示的组件(如按钮)

⑤ Icon:在对话框内要显示的图标

⑥ messageType:一般可以为如下的值ERROR_MESSAGE、INFORMATION_MESSAGE、WARNING_MESSAGE、QUESTION_MESSAGE、PLAIN_MESSAGE、

⑦ optionType:它决定在对话框的底部所要显示的按钮选项.一般可以为DEFAULT_OPTION、YES_NO_OPTION、YES_NO_CANCEL_OPTION、OK_CANCEL_OPTION.

使用实例:

(1)显示MessageDialog

JOptionPane.showMessageDialog(null,"在对话框内显示的描述性的文字","标题条文字串",JOptionPane.ERROR_MESSAGE);

(2)显示ConfirmDialog

Java代码

JOptionPane.showConfirmDialog(null,"choose one","choose one",JOptionPane.YES_NO_OPTION);

JOptionPane.showConfirmDialog(null,"choose one","choose one",JOptionPane.YES_NO_OPTION);

(3)显示OptionDialog:该种对话框可以由用户自己来设置各个按钮的个数并返回用户点击各个按钮的序号(从0开始计数)

Java代码

Object[] options = {"确定","取消","帮助"};

int response=JOptionPane.showOptionDialog(this,"这是个选项对话框,用户可以选择自己的按钮的个数","选项对话框标题",JOptionPane.YES_OPTION,

JOptionPane.QUESTION_MESSAGE,null,options,options[0]); if(response==0) { this.setTitle("您按下了第OK按钮 "); } else if(response==1) { this.setTitle("您按下了第Cancel按钮 "); } else if(response==2) { this.setTitle("您按下了第Help按钮 "); }

Object[] options = {"确定","取消","帮助"};

int response=JOptionPane.showOptionDialog(this,"这是个选项对话框,用户可以选择自己的按钮的个数","选项对话框标题",JOptionPane.YES_OPTION,

JOptionPane.QUESTION_MESSAGE,null,options,options[0]); if(response==0) { this.setTitle("您按下了第OK按钮 "); } else if(response==1) { this.setTitle("您按下了第Cancel按钮 "); } else if(response==2) { this.setTitle("您按下了第Help按钮 "); }

(4)显示InputDialog 以便让用户进行输入

Java代码

String inputValue = JOptionPane.showInputDialog("Please input

a value");

String inputValue = JOptionPane.showInputDialog("Please input

a value");

(5)显示InputDialog 以便让用户进行选择地输入

Java代码

Object[] possibleValues = { "First","Second","Third" }; //用户的选择项目

Object selectedValue = JOptionPane.showInputDialog(null,"Choose one","Input",JOptionPane.INFORMATION_MESSAGE,null,possibleValues,possibleValues[0]);

setTitle("您按下了"+(String)selectedValue+"项目");