在swing中,基于业务的考量,会有对话框来限制用户的行为及对用户的动作进行提示.

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 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+"项目");

Swing中弹出对话框的几种方式_JOptionPane.showMessageDialog等详解的更多相关文章

  1. Swing中弹出对话框的几种方式(转)

    http://www.cnblogs.com/mailingfeng/archive/2011/12/28/2304289.html 在swing中,基于业务的考量,会有对话框来限制用户的行为及对用户 ...

  2. JS弹出对话框的三种方式

    JS弹出对话框的三种方式 我们用到了alert()方法.prompt()方法.prompt()方法,都是在网页有一个弹出框,那么就让我们探究一下他们之间的区别: 一.第一种:alert()方法 < ...

  3. js弹出对话框的三种方式(转)

    原文地址:https://www.jb51.net/article/81376.htm javascript的三种对话框是通过调用window对象的三个方法alert(),confirm()和prom ...

  4. form表单提交三种方式,demo实例详解

    第一种:使用type=submit  可以直接提交 <html> <head> <title>submit直接提交</title> </head& ...

  5. WPF中使用文件浏览对话框的几种方式

    原文:WPF中使用文件浏览对话框的几种方式 WPF本身并没有为我们提供文件浏览的控件, 也不能直接使用Forms中的控件,而文件浏览对话框又是我们最常用的控件之一. 下面是我实现的方式 方式1: 使用 ...

  6. Android中弹出对话框,AlertDialog关键代码

    写在这里便于以后查看. Android中弹出对话框的关键代码: btn01.setOnClickListener(new OnClickListener() { @Override public vo ...

  7. PyQt中弹出对话框操作

    经常有初学者搞不清楚如何在PyQt中弹出对话框,以及如何处理返回值.这篇文章会举例说明,界面采用手工编写. 我们一般说的对话框指的是模态对话框(Modal Dialogue Box),一旦弹出,就不能 ...

  8. 在动态链接库dll中弹出对话框

    在动态链接库dll中弹出对话框步骤: 1.添加Dialog资源,然后在资源视图的对话框界面右击添加类,输入类名MyDlg,使得其继承与CDialogEx.(继承CDialog应该也可以)2.在新生成的 ...

  9. 全网最全的Windows下Anaconda2 / Anaconda3里正确下载安装爬虫框架Scrapy(离线方式和在线方式)(图文详解)

    不多说,直接上干货! 参考博客 全网最全的Windows下Anaconda2 / Anaconda3里正确下载安装OpenCV(离线方式和在线方式)(图文详解) 第一步:首先,提示升级下pip 第二步 ...

随机推荐

  1. neo4j-备份、恢复

    neo4j备份命令(本例linux) neo4j-backup 命令使用: ./neo4j-backup -full -from single://[machine IP] -to ~/backup- ...

  2. c#委托----我的一点笔记

    public partial class ucBloodLabs { public delegate void ShowBloodEvent(); public ShowBloodEvent Show ...

  3. 网络流模板 NetworkFlow

    身边的小伙伴们都在愉快地刷网络流,我也来写一发模板好了. Network Flow - Maximum Flow Time Limit : 1 sec, Memory Limit : 65536 KB ...

  4. linux: 常用copy 命令

    1.scp 2.递归复制: \cp -r backup/*  /root/tomcat8/webapps/zefun/ngViews/wechat/ p.p1 { margin: 0.0px 0.0p ...

  5. TypeScript 素描-基础类型

    博文读自 TypeScript 官方文档而来,不具有学习性,仅是本人学习时记录以供日后翻阅 ,有学习TypeScript的朋友还请去看更为详细的官方文档 TypeScript官网文档中的基础类型, T ...

  6. linux安装php

    接上篇:linux安装apache 一.安装php 先安装libxml2库 [root@ctxsdhy package]# yum -y install libxml2-devel 最新地址在:htt ...

  7. Codeforces Round #384 (Div. 2) B. Chloe and the sequence(规律题)

    传送门 Description Chloe, the same as Vladik, is a competitive programmer. She didn't have any problems ...

  8. 【Beta】Scrum06

    Info 时间:2016.12.15 21:35 时长:25min 地点:大运村1号公寓5楼楼道 类型:日常Scrum会议 NXT:2016.12.17 21:30 Task Report Name ...

  9. HDU 1796How many integers can you find(容斥原理)

    How many integers can you find Time Limit:5000MS     Memory Limit:32768KB     64bit IO Format:%I64d ...

  10. JQ-动画合集(ing...)

    一:给向上按钮加动画,让页面卷回上面而不是生硬跳转.js $('#topBtn').click(function(){ $('html,body').animate({scrollTop: '0px' ...