博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Swing中弹出对话框的几种方式(转)
阅读量:6157 次
发布时间:2019-06-21

本文共 4208 字,大约阅读时间需要 14 分钟。

 

 在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://usifa.baihongyu.com/

你可能感兴趣的文章
微信Access Token 缓存方法
查看>>
Eclipsed的SVN插件不能识别之前工作空间的项目
查看>>
Linux 查看iptables状态-重启
查看>>
amazeui学习笔记一(开始使用2)--布局示例layouts
查看>>
c#中lock的使用(用于预约超出限额的流程)
查看>>
ODI基于源表时间戳字段获取增量数据
查看>>
并发容器之CopyOnWriteArrayList(转载)
查看>>
什么是AAC音频格式 AAC-LC 和 AAC-HE的区别是什么
查看>>
原创:goldengate从11.2升级到12.1.2
查看>>
Quartz
查看>>
正则表达式的语法规则
查看>>
C#一个关于委托和事件通俗易懂的例子
查看>>
类似于SVN的文档内容差异对比工具winmerge
查看>>
Cause: java.sql.SQLException: The user specified as a definer ('root'@'%') does not exist
查看>>
quratz线程
查看>>
execnet: rapid multi-Python deployment
查看>>
windows修改3389端口
查看>>
关于JavaScript词法
查看>>
FreeSwitch中的会议功能(4)
查看>>
MySQL中创建用户分配权限(到指定数据库或者指定数据库表中)
查看>>