swing作为基础的图形化显示界面开发,还是新手小难上手的一个项目学习,当然做好了之后的数据流转是对编程架构的很大提高。
这里我介绍一下swing的弹出窗口,作为界面交互的时候不可或缺的检测工具,简直不要太好用。
首先要记住,弹出窗口必须要传进去基础窗口,也就是不可以直接调用,显示massage;
在swing中,基于业务的考量,会有对话框来限制用户的行为及对用户的动作进行提示.
Swing中提供了JOptionPane类来实现类似Windows平台下的MessageBox的功能,同样在Java中也有,
利用JOptionPane类中的各个static方法来生成各种标准的对话框,
实现显示出信息、提出问题、警告、用户输入参数等功能。
这些对话框都是模式对话框。
ConfirmDialog --- 确认对话框,提出问题,然后由用户自己来确认(按"Yes"或"No"按钮)
InputDialog --- 提示输入文本
MessageDialog --- 显示信息 最经常用的应该是这个,直接弹出框显示你要显示的msg
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)显示MessageDialogJOptionPane.showMessageDialog(null, "在对话框内显示的描述性的文字",
"标题条文字串", JOptionPane.ERROR_MESSAGE);
(2)显示ConfirmDialogJOptionPane.showConfirmDialog(null, "choose one", "choose one",
JOptionPane.YES_NO_OPTION);
(3)显示OptionDialog:该种对话框可以由用户自己来设置各个按钮的个数并返回用户点击各个按钮的序号(从0开始计数)
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 以便让用户进行输入String inputValue = JOptionPane.showInputDialog("Please input a value");
(5)显示InputDialog 以便让用户进行选择地输入Object[] possibleValues = { "First", "Second", "Third" };
//用户的选择项目Object selectedValue = JOptionPane.showInputDialog(null, "Choose one",
"Input",JOptionPane.INFORMATION_MESSAGE, null, possibleValues, possibleValues[0]);
setTitle("您按下了"+(String)selectedValue+"项目");