Swing中弹出对话框的几种方式

18 篇文章 0 订阅
 
    Swing 中提供了 JOptionPane 类来实现类似 Windows 平台下的 MessageBox 的功能,同样在 Java 中也有,利用 JOptionPane 类中的各个 static 方法来生成各种标准的对话框,实现显示出信息、提出问题、警告、用户输入参数等功能。这些对话框都是模式对话框。
ConfirmDialog
  ---  确认对话框,提出问题,然后由用户自己来确认(按 "Yes" "No" 按钮)
InputDialog
  ---  提示输入文本
MessageDialog
  ---  显示信息
OptionDialog
  - - 组合其它三个对话框类型。
  这四个对话框可以采用 showXXXDialog() 来显示,如 showConfirmDialog() 显示确认对话框、 showInputDialog() 显示输入文本对话框、 showMessageDialog() 显示信息对话框、 showOptionDialog() 显示选择性的对话框。它们所使用的参数说明如下:
ParentComponent :指示对话框的父窗口对象,一般为当前窗口。也可以为 null 即采用缺省的 Frame 作为父窗口,此时对话框将设置在屏幕的正中。
messag e :指示要在对话框内显示的描述性的文字
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
JOptionPane.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+" 项目 ");
 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值