开发者社区> developerguy> 正文

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

简介: http://www.cnblogs.com/mailingfeng/archive/2011/12/28/2304289.html  在swing中,基于业务的考量,会有对话框来限制用户的行为及对用户的动作进行提示. Swing中提供了JOptionPane类来实现类似Windows平台下的MessageBox的功能,同样在Java中也有,利用JOptionPane类中的各个static方法来生成各种标准的对话框,实现显示出信息、提出问题、警告、用户输入参数等功能。
+关注继续查看

 http://www.cnblogs.com/mailingfeng/archive/2011/12/28/2304289.html

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

 

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

package org.angus.yang;
import java.awt.Component;
import javax.swing.JOptionPane;
public class TestDialog extends Component{
    /**
    在swing中,基于业务的考量,会有对话框来限制用户的行为及对用户的动作进行提示.下面是出自csdn中alickman的答复回复的内容.
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。
    */

    public void ss(){
       // 使用实例:
       // (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) {

           System.out.println("您按下了第OK按钮 ");

       } else if (response == 1) {

           System.out.println("您按下了第Cancel按钮 ");

       } else if (response == 2) {

           System.out.println("您按下了第Help按钮 ");

       }

 

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

       String inputValue = JOptionPane.showInputDialog("Please input a value");

       System.out.println("您输入的数据为:"+inputValue);

      

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

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

       Object selectedValue = JOptionPane.showInputDialog(null, "Choose one",

              "Input", JOptionPane.INFORMATION_MESSAGE, null, possibleValues,

              possibleValues[0]);

       System.out.println("您按下了"+(String)selectedValue+"项目");

   

    }

 

    public static void main(String[] args){

       TestDialog testDialog = new TestDialog();

      

       testDialog.ss();

    }

}

 

http://blog.csdn.net/lushuaiyin/article/details/6775705

http://blog.csdn.net/tsaid/article/details/7962798

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
关于安卓开发实现进度条对话框
进度条对话框(ProgressDialog)分为圆形和横向两种类型。 方法: onCreatDialog(int id);创建一个对话框,只有在第一次创建该ID标识的Dialog时执行 onCreatDialog(int id,Bundle args);同上,带参数 onPrepareDia...
858 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
28139 0
MFC对话框屏蔽Enter和ESC键
MFC对话框屏蔽Enter和ESC键参考:http://www.docin.com/p-122354833.html方法一重载PreTranslateMessage函数 BOOL CXXDlg::PreTranslateMessage(MSG* pMsg){    //对话框屏蔽Enter和ES...
1002 0
Wince 对话框程序设计
  如何编程实现wince下“打开文件夹对话框”呢?这里就要涉及到下面要分析的知识了,对话框是一种特殊的窗口,它在wince 作为应用程序和程序使用者之间的交流窗口,通过显示和获取信息使人们的交流更加方便,这里先介绍下wParam和lParam,对于鼠标而言,LOWORD(wParam)和HIWORD(wParam)代表鼠标位置x,y坐标;对于菜单和控件而言,两者wParam的低字节都是各自的ID,即LOWORD(wParam)都是ID。
868 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
20201 0
+关注
developerguy
A code cleanliness code farmers, A programmer concentrate on elegant design, A want to do with the product architect
1663
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载