精华内容
下载资源
问答
  • 对话框中的选择按钮分为什么
    2022-01-10 14:48:11

    重写 iView 中Modal对话框取消和确定按钮

    需求:点击审核按钮弹出对话框,对话框中取消按钮和确定按钮分为改为审核不通过和审核通过按钮,从而实现审核功能。

    <Modal v-model="showAuditModal" :mask-closeable="false" @on-cancel="cancel" width="410">
    	<p class="audit-title">
            <Icon type="ios-help-circle" size="28" style="margin-right:10px;color:#ff9900;"></Icon>
            <span>审核图片</span>
        </p>
        <div style="text-align:center;height:50px;">
            <p>已选择{{ids.length}}条数据,是否通过审核?</p>
        </div>
        <div slot="footer">
            <Button @click="handleSubmit(2)" :loading="saveLoading">审核不通过</Button>
            <Button type="primary" @click="handleSubmit(1)" :loading="saveLoading">审核通过</Button>
        </div>
    </Modal>
    
    <script>
        // 审核
        handleAudit() {
            let rows = this.$refs.table.getSelection()
            if(!row.length) {
                this.$Notice.warning({
                    title: '错误提示',
                    desc: '请选择要审核的数据'
                })
                return false
            }
            for(let i = 0; i < rows.length; i++) {
                if(rows[i].status != 1) {
                    this.$Notice.warning({
                        title: '错误提示',
                        desc: '只能操作审核中状态的数据,请重新选择'
                    })
                    return false
                }  
            }
            this.ids = rows.map(item => item.id)
            this.showAuditModal = true
        }
        handleSubmit(type) {
            this.saveLoading = true
            approveImage({
                ids: this.ids,
                status: type
            }).then(res => {
                this.$Notice.success({
                    title: '成功提示',
                    desc: '操作成功'
                })
                this.showAuditModal = false
                this.saveLoading = false
                this.refresh(true)
            }).catch(res => {
                this.saveLoading = false
            })
        }
        // 右上角关闭
        cancel() {
            this.saveLoading = false
            this.showAuditModal = false
            this.ids = []
        }
    
    更多相关内容
  •  C++中对话框分为模式对话框和非模式对话框。  模式对话框的创建:  MyDialog m_dialog;  m_dialog.DoModal();  非模式对话框的创建和关闭:  MyDialog m_dialog;  //创建IDD_DIALOG1对话框,NULL指在...
  • Android对话框形式大致可分为五种:分别是一般对话框形式,列表对话框形式,单选按钮对话框,多选按钮对话框,自定义对话框。 在实际开发,用系统的对话框会很少,因为太丑了,美工不愿意,多是使用自定义...
  • 但实际上AlertDialog生成的对话框总体可分为以下4个区域:图标区、标题区、内容区、按钮区。 这里总结了九种对话框的实现方法,有需要的朋友可以来学习下了   除了popupwindow实现稍微麻烦一点,其他形似都相对...
  • Java 实现文件选择对话框及功能

    千次阅读 2021-03-10 04:13:35
    时间:2018-10-02概述:文件选择器Java实现文件选择器,就是大家熟悉的打开文件、选择文件的对话框,本例子分为两部分来进行,一个部分是选择对话框构建部分,另一部分是文件过滤部分,用于过滤用户指定选择的文件...

    时间:2018-10-02

    概述:文件选择器

    Java实现文件选择器,就是大家熟悉的打开文件、选择文件的对话框,本例子分为两部分来进行,一个部分是选择器对话框构建部分,另一部分是文件过滤部分,用于过滤用户指定选择的文件类型,对话框样式如下图所示:

    553c5a70ab44686e69304e02c647bbd0.gif

    下面分部分来编写代码:

    第一部分:文件选择器部分,含窗口代码:

    import java.awt.*;

    import java.awt.event.*;

    import javax.swing.*;

    import java.io.*;

    //文件选择器演示

    public class JFileChooserDemo extends JFrame {

    private JFileChooser chooser; //文件选择器

    private JButton button; //选择文件按钮

    private JComboBox comboBox; //用于设定文件对话框作用(打开还是保存文件)

    public JFileChooserDemo() {

    super("JFileChooser 演示"); //调用父类构造函数

    Container contentPane = getContentPane(); //得到容器

    contentPane.setLayout(new FlowLayout()); //设置布局管理器为Flowlayout

    chooser=new JFileChooser(); //初始化文件选择器

    button = new JButton("选择文件"); //初始化按钮

    comboBox=new JComboBox(); //初始化组合框

    comboBox.addItem("打开"); //增加组合框列表内容

    comboBox.addItem("保存");

    contentPane.add(comboBox); //增加组件到容器

    contentPane.add(button);

    button.addActionListener(new ActionListener() { //按钮事件处理

    public void actionPerformed(ActionEvent e) {

    int state; //文件选择器返回状态

    chooser.removeChoosableFileFilter(chooser.getAcceptAllFileFilter()); //移去所有文件过滤器

    chooser.addChoosableFileFilter(new MyFileFilter("gif","图像文件")); //增加文件过滤器,接爱gif文件

    if (comboBox.getSelectedIndex()==0) //组合框为"打开"

    state=chooser.showOpenDialog(null); //显示打开文件对话框

    else

    state=chooser.showSaveDialog(null); //显示保存文件对话框

    File file = chooser.getSelectedFile(); //得到选择的文件

    if(file != null && state == JFileChooser.APPROVE_OPTION) { //选择了文件并点击了打开可保存按钮

    JOptionPane.showMessageDialog(null, file.getPath()); //显示提示信息

    }

    else if(state == JFileChooser.CANCEL_OPTION) { //点击了撤销按钮

    JOptionPane.showMessageDialog(null, "退出!"); //显示提示信息

    }

    else if(state == JFileChooser.ERROR_OPTION) {

    JOptionPane.showMessageDialog(null, "错误!"); //显示提示信息

    }

    }

    });

    this.setSize(200,100); //设置窗口大小

    this.setVisible(true); //设置窗口可见

    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序

    }

    public static void main(String args[]) {

    new JFileChooserDemo();

    }

    }

    第二部分,文件过滤器,比如只允许打开.doc类型的文件,就可以使用本过滤器过滤掉其它的文件类型:

    import java.io.File;

    import javax.swing.filechooser.FileFilter;

    //文件过滤器

    //Download by http://www.srcfans.com

    public class MyFileFilter extends FileFilter {

    String ends; //文件后缀

    String description; //文件描述文字

    public MyFileFilter(String ends, String description) { //构造函数

    this.ends = ends; //设置文件后缀

    this.description=description; //设置文件描述文字

    }

    public boolean accept(File file) { //重载FileFilter中的accept方法

    if (file.isDirectory()) //如果是目录,则返回true

    return true;

    String fileName = file.getName(); //得到文件名称

    if (fileName.toUpperCase().endsWith(ends.toUpperCase())) //把文件后缀与可接受后缀转成大写后比较

    return true;

    else

    return false;

    }

    public String getDescription() { //返回文件描述文字

    return description;

    }

    }

    展开全文
  • 3.五种常见对话框

    2022-04-07 09:14:10
    3.五种常见对话框 文章目录3.五种常见对话框简介一、普通对话框二、单选对话框三、多选对话框四、进度条对话框五、消息对话框六...普通对话框(Dialog)一般只会显示提示信息,并具有确定和取消按钮。 private void b

    3.五种常见对话框

    简介

    对话框也是程序与用户交互的一种方式,通常用于显示当前程序提示信息以及相关说明,以小窗口形式展现。

    常见对话框有以下几种:

    • 普通对话框
    • 单选对话框
    • 多选对话框
    • 进度条对话框
    • 消息对话框
    • 自定义对话框

    本文主要介绍前五种对话框,对于自定义对话框暂不赘述。

    一、普通对话框

    普通对话框(Dialog)一般只会显示提示信息,并具有确定和取消按钮。

    在这里插入图片描述

    private void btn_normalClcik() {
    		// 1. 先要创建构建器 this
    		AlertDialog.Builder builder = new AlertDialog.Builder(this);
    
    		// 标题
    		builder.setTitle("警告");
    
    		// 图标
    		builder.setIcon(R.drawable.ic_launcher);
    
    		// 提示信息
    		builder.setMessage("你确定要退出吗?");
    
    		// 确定按钮
    		// DialogInterface: 区分view包下的 OnClickListener();
    		builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
    
    			@Override
    			public void onClick(DialogInterface dialog, int which) {
    				// TODO Auto-generated method stub
    				Toast.makeText(getApplicationContext(), "点击了确定按钮",
    						Toast.LENGTH_SHORT).show();
    			}
    		});
    
    		// 取消按钮
    		builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
    
    			@Override
    			public void onClick(DialogInterface dialog, int which) {
    				// TODO Auto-generated method stub
    				Toast.makeText(getApplicationContext(), "点击了取消按钮",
    						Toast.LENGTH_SHORT).show();
    			}
    		});
    
    		// 一定要把对话框显示出来
    		builder.show();
    
    	}
    

    二、单选对话框

    单选对话框和RadioButton作用类似,只能选择一个选项,它是通过AlertDialog对象调用setSingleChoiceItems()方法创建的。

    在这里插入图片描述

    private void btn_singleChoseCLick() {
    
    		// 创建默认值
    		int moren = 1;
    
    		checked = moren;
    
    		// 1. 先要创建构建器 this
    		AlertDialog.Builder builder = new AlertDialog.Builder(this);
    
    		// 标题
    		builder.setTitle("请选择你的性别?");
    
    		// 图标
    		builder.setIcon(R.drawable.ic_launcher);
    
    		// 创建items
    		final String[] items = new String[] { "男", "女", "中" };
    
    		// 设置内容 -1 表示没有默认值
    		builder.setSingleChoiceItems(items, moren,
    				new DialogInterface.OnClickListener() {
    
    					@Override
    					public void onClick(DialogInterface dialog, int which) {
    						// TODO Auto-generated method stub
    						// System.out.println("----which---"+which);
    
    						checked = which;
    					}
    				});
    
    		// 确定按钮
    		// DialogInterface: 区分view包下的 OnClickListener();
    		builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
    
    			@Override
    			// which -2
    			public void onClick(DialogInterface dialog, int which) {
    				// TODO Auto-generated method stub
    
    				Toast.makeText(getApplicationContext(), items[checked],
    						Toast.LENGTH_SHORT).show();
    			}
    		});
    
    		// 取消按钮
    		builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
    
    			@Override
    			// which -1
    			public void onClick(DialogInterface dialog, int which) {
    				// TODO Auto-generated method stub
    				Toast.makeText(getApplicationContext(), "点击了取消按钮",
    						Toast.LENGTH_SHORT).show();
    			}
    		});
    
    		// 显示出来
    		builder.show();
    
    	}
    

    三、多选对话框

    多选对话框通常在需要勾选多种选项时使用,例如添加兴趣爱好、喜爱的电影等。创建多选对话框与创建单选对话框类似,调用setMultiChoiceItems()方法就可实现。

    在这里插入图片描述

    	// 点击多选对话框
    	private void btn_moreChoseCLick() {
    		// 1. 先要创建构建器 this
    		AlertDialog.Builder builder = new AlertDialog.Builder(this);
    
    		// 标题
    		builder.setTitle("请选择你喜欢的运动?");
    
    		// 图标
    		builder.setIcon(R.drawable.ic_launcher);
    
    		// 创建items
    		final String[] items = new String[]{"乒乓球","羽毛球","篮球","足球"};
    		
    		//创建默认值 
    		final boolean[] checkedItems = new boolean[]{false,false,true,false};
    		// 设置内容 
    		builder.setMultiChoiceItems(items, checkedItems, new DialogInterface.OnMultiChoiceClickListener() {
    			
    			@Override
    			public void onClick(DialogInterface dialog, int which, boolean isChecked) {
    				// TODO Auto-generated method stub
    //				System.out.println("which = "+which + ", ischecked :"+isChecked );
    				checkedItems[which] = isChecked;	
    			}
    		});
    		
    
    		// 确定按钮
    		// DialogInterface: 区分view包下的 OnClickListener();
    		builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
    
    			@Override
    			// which -2
    			public void onClick(DialogInterface dialog, int which) {
    				// TODO Auto-generated method stub
    				
    				//代码实现
    				String text ="";
    				for (int i = 0; i < items.length; i++) {
    					if(checkedItems[i]){
    						text+=items[i];
    					}
    				}
    
    				Toast.makeText(getApplicationContext(), "你喜欢的运动是"+text,
    						Toast.LENGTH_SHORT).show();
    			}
    		});
    
    		// 取消按钮
    		builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
    
    			@Override
    			// which -1
    			public void onClick(DialogInterface dialog, int which) {
    				// TODO Auto-generated method stub
    				Toast.makeText(getApplicationContext(), "点击了取消按钮",
    						Toast.LENGTH_SHORT).show();
    			}
    		});
    
    		// 显示出来
    		builder.show();
    
    	}
    

    四、进度条对话框

    进度条对话框一般在应用程序实现耗时操作时使用。Android中提供了两种进度条样式,圆形进度条和水平进度条。

    在这里插入图片描述

    	//进度条对话框
    	private void btn_progresCLick() {
    		
    		final ProgressDialog pro = new ProgressDialog(this);
    		
    		pro.setIcon(R.drawable.ic_launcher);
    		
    		pro.setTitle("正在努力下载中》》》》");
    		
    		pro.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
    		
    		
    		//进度条最大值
    		pro.setMax(100);
    		//当前值
    		
    		new Thread(new Runnable() {	
    			@Override
    			public void run() {
    				int progress =0;
    				// TODO Auto-generated method stub
    				for (int i = 1; i <= 100; i++) {
    					
    					pro.setProgress(i);
    					//让线程睡一会
    					try {
    						new Thread().sleep(50);
    						progress++;
    						pro.incrementProgressBy(progress);
    					}
    					 catch (InterruptedException e) {
    						e.printStackTrace();
    					}	
    				}
    				
    				//让对话框消失  
    				pro.dismiss();
    			}
    		}).start();
    		
    		//对话框 消失的时候 应提示用户 下载完成 
    		
    		//代码实现
    
    		pro.setOnDismissListener(new DialogInterface.OnDismissListener() {
    			
    			@Override
    			public void onDismiss(DialogInterface dialog) {
    				// TODO Auto-generated method stub
    				Toast.makeText(getApplicationContext(),"下载完成",Toast.LENGTH_SHORT).show(); 
    			}
    		});
    		
    		
    		
    		
    		pro.show();
    	
    		
    	}
    

    五、消息对话框

    消息对话框(Toast)是轻量级信息提醒机制,显示在应用程序界面的最上层,一段时间后自动消失不会打断当前操作,也不获得焦点。
    在这里插入图片描述

    Toast.makeText ( this, "Hello,Toast" , Toast.LENGTH_SHORT ).show();
    

    六、代码

    layout文件:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context="com.example.dialog.MainActivity" >
    
        <Button
            android:id="@+id/btn_normal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="普通对话框" />
        
        <Button
            android:id="@+id/btn_singlechose"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="单选对话框" />
        
        <Button
            android:id="@+id/btn_morechose"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="多选对话框" />
        
         <Button
            android:id="@+id/btn_progress"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="进度条对话框" />
    
    </LinearLayout>
    
    

    MainActivity.java文件

    package com.example.dialog;
    
    import android.app.Activity;
    import android.app.AlertDialog;
    import android.app.ProgressDialog;
    import android.content.DialogInterface;
    import android.content.res.Resources.Theme;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.Toast;
    
    public class MainActivity extends Activity implements OnClickListener {
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    
    		// 1.找到按钮
    		Button btn_normal = (Button) findViewById(R.id.btn_normal);
    		Button btn_singlechose = (Button) findViewById(R.id.btn_singlechose);
    		Button btn_morechose = (Button) findViewById(R.id.btn_morechose);
    		Button btn_progress = (Button) findViewById(R.id.btn_progress);
    
    		// 2.监听按钮点击
    		btn_normal.setOnClickListener(this);
    		btn_singlechose.setOnClickListener(this);
    		btn_morechose.setOnClickListener(this);
    		btn_progress.setOnClickListener(this);
    	}
    
    	// 关于对话框 AlertDialog.Builder(this);
    	// 获取上下文环境 :
    	// 一定要用this 不能使用getApplicationContext()
    
    	@Override
    	// 按钮点击方法
    	public void onClick(View v) {
    		int id = v.getId();
    
    		switch (id) {
    		case R.id.btn_normal: // 点击的普通对话框按钮
    
    			btn_normalClcik();
    
    			break;
    		case R.id.btn_singlechose: // 点击的单选对话框
    			btn_singleChoseCLick();
    			break;
    		case R.id.btn_morechose: // 点击的多选对话框
    			btn_moreChoseCLick();
    			break;
    			
    		case R.id.btn_progress: // 点击的进度条对话框
    			btn_progresCLick();
    			break;
    
    		}
    
    	}
    
    	//进度条对话框
    	private void btn_progresCLick() {
    		
    		final ProgressDialog pro = new ProgressDialog(this);
    		
    		pro.setIcon(R.drawable.ic_launcher);
    		
    		pro.setTitle("正在努力下载中》》》》");
    		
    		pro.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
    		
    		
    		//进度条最大值
    		pro.setMax(100);
    		//当前值
    		
    		new Thread(new Runnable() {	
    			@Override
    			public void run() {
    				int progress =0;
    				// TODO Auto-generated method stub
    				for (int i = 1; i <= 100; i++) {
    					
    					pro.setProgress(i);
    					//让线程睡一会
    					try {
    						new Thread().sleep(50);
    						progress++;
    						pro.incrementProgressBy(progress);
    					}
    					 catch (InterruptedException e) {
    						e.printStackTrace();
    					}	
    				}
    				
    				//让对话框消失  
    				pro.dismiss();
    			}
    		}).start();
    		
    		//对话框 消失的时候 应提示用户 下载完成 
    		
    		//代码实现
    
    		pro.setOnDismissListener(new DialogInterface.OnDismissListener() {
    			
    			@Override
    			public void onDismiss(DialogInterface dialog) {
    				// TODO Auto-generated method stub
    				Toast.makeText(getApplicationContext(),"下载完成",Toast.LENGTH_SHORT).show(); 
    			}
    		});
    		
    		
    		
    		
    		pro.show();
    	
    		
    	}
    
    	// 点击多选对话框
    	private void btn_moreChoseCLick() {
    		// 1. 先要创建构建器 this
    		AlertDialog.Builder builder = new AlertDialog.Builder(this);
    
    		// 标题
    		builder.setTitle("请选择你喜欢的运动?");
    
    		// 图标
    		builder.setIcon(R.drawable.ic_launcher);
    
    		// 创建items
    		final String[] items = new String[]{"乒乓球","羽毛球","篮球","足球"};
    		
    		//创建默认值 
    		final boolean[] checkedItems = new boolean[]{false,false,true,false};
    		// 设置内容 
    		builder.setMultiChoiceItems(items, checkedItems, new DialogInterface.OnMultiChoiceClickListener() {
    			
    			@Override
    			public void onClick(DialogInterface dialog, int which, boolean isChecked) {
    				// TODO Auto-generated method stub
    //				System.out.println("which = "+which + ", ischecked :"+isChecked );
    				checkedItems[which] = isChecked;	
    			}
    		});
    		
    
    		// 确定按钮
    		// DialogInterface: 区分view包下的 OnClickListener();
    		builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
    
    			@Override
    			// which -2
    			public void onClick(DialogInterface dialog, int which) {
    				// TODO Auto-generated method stub
    				
    				//代码实现
    				String text ="";
    				for (int i = 0; i < items.length; i++) {
    					if(checkedItems[i]){
    						text+=items[i];
    					}
    				}
    
    				Toast.makeText(getApplicationContext(), "你喜欢的运动是"+text,
    						Toast.LENGTH_SHORT).show();
    			}
    		});
    
    		// 取消按钮
    		builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
    
    			@Override
    			// which -1
    			public void onClick(DialogInterface dialog, int which) {
    				// TODO Auto-generated method stub
    				Toast.makeText(getApplicationContext(), "点击了取消按钮",
    						Toast.LENGTH_SHORT).show();
    			}
    		});
    
    		// 显示出来
    		builder.show();
    
    	}
    
    	int checked = 2;
    
    	// 单选对话框
    	private void btn_singleChoseCLick() {
    
    		// 创建默认值
    		int moren = 1;
    
    		checked = moren;
    
    		// 1. 先要创建构建器 this
    		AlertDialog.Builder builder = new AlertDialog.Builder(this);
    
    		// 标题
    		builder.setTitle("请选择你的性别?");
    
    		// 图标
    		builder.setIcon(R.drawable.ic_launcher);
    
    		// 创建items
    		final String[] items = new String[] { "男", "女", "中" };
    
    		// 设置内容 -1 表示没有默认值
    		builder.setSingleChoiceItems(items, moren,
    				new DialogInterface.OnClickListener() {
    
    					@Override
    					public void onClick(DialogInterface dialog, int which) {
    						// TODO Auto-generated method stub
    						// System.out.println("----which---"+which);
    
    						checked = which;
    					}
    				});
    
    		// 确定按钮
    		// DialogInterface: 区分view包下的 OnClickListener();
    		builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
    
    			@Override
    			// which -2
    			public void onClick(DialogInterface dialog, int which) {
    				// TODO Auto-generated method stub
    
    				Toast.makeText(getApplicationContext(), items[checked],
    						Toast.LENGTH_SHORT).show();
    			}
    		});
    
    		// 取消按钮
    		builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
    
    			@Override
    			// which -1
    			public void onClick(DialogInterface dialog, int which) {
    				// TODO Auto-generated method stub
    				Toast.makeText(getApplicationContext(), "点击了取消按钮",
    						Toast.LENGTH_SHORT).show();
    			}
    		});
    
    		// 显示出来
    		builder.show();
    
    	}
    
    	// 点击了普通对话框
    	private void btn_normalClcik() {
    		// 1. 先要创建构建器 this
    		AlertDialog.Builder builder = new AlertDialog.Builder(this);
    
    		// 标题
    		builder.setTitle("警告");
    
    		// 图标
    		builder.setIcon(R.drawable.ic_launcher);
    
    		// 提示信息
    		builder.setMessage("你确定要退出吗?");
    
    		// 确定按钮
    		// DialogInterface: 区分view包下的 OnClickListener();
    		builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
    
    			@Override
    			public void onClick(DialogInterface dialog, int which) {
    				// TODO Auto-generated method stub
    				Toast.makeText(getApplicationContext(), "点击了确定按钮",
    						Toast.LENGTH_SHORT).show();
    			}
    		});
    
    		// 取消按钮
    		builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
    
    			@Override
    			public void onClick(DialogInterface dialog, int which) {
    				// TODO Auto-generated method stub
    				Toast.makeText(getApplicationContext(), "点击了取消按钮",
    						Toast.LENGTH_SHORT).show();
    			}
    		});
    
    		// 一定要把对话框显示出来
    		builder.show();
    
    	}
    
    }
    
    
    展开全文
  • public class Example9_16 { public static void main... win.setTitle("带消息对话框的窗口"); win.setBounds(80,90,350,300); } } package 例题; import java.awt.event.*; import java.awt.*; imp

    消息对话框:(这个对话框提供一些信息)
    无模式:可多线程的执行
    有模式:用户必须处理这个一个对话框。必须解决这个问题后才可以继续相处下去

    对话框分为无模式和有模式两种。如果一个对话框 是有模式的对话框,那么当这个对话框处于激活状态时,只让程序响应对话框内部的事件,而且将阻塞其他线程的执行,用户不能再激活对话框所在程序中的其他窗口,直到该对话框消失不可见。无模式对话框处于激活状态时,能再激活其他窗口,也不阻塞其他线程的执行。

    进行一个重要的操作动作之前,通过弹出一个有模式的对话框表明操作的重要性。

    public static void showMessageDialog
    (Component parentComponent,String message,String title,int
    messageType)
    创建一个消息对话框,其中参数parentComponent指定对话框可见时的位置如果parentComponent为null,对话框会在屏幕的正前方显示出来;如果组件parentComponent不空,对话框在组件prenCompoment的正前面居中显示。message指定对话框上显示的消息,title指定对话框的标题,messageType取值是JOptionPane中的类常量:

    INFORMATIONMESSAGE
    在这里插入图片描述

    WARNINGMESSAGE
    在这里插入图片描述

    ERROR MESSAGE
    在这里插入图片描述

    OUESTIONMESSAGE
    在这里插入图片描述

    PLAIN MESSAGE
    在这里插入图片描述

    这些值可以给出对话框的外观,例如,取值JOptionPane. WARNING MESSAGE时,对一个明显的“!”符号。

    在下面的例子中,要求用户在文本框中只能输入英文字母,当输入非英文字母时弹出对话框。

    public class Example9_16 {
    	   public static void main(String args[]) {
    	      WindowMess win=new WindowMess();
    	      win.setTitle("带消息对话框的窗口"); 
    	      win.setBounds(80,90,350,300);
    	   }
    	}
    
    
    package 例题;
    
    import java.awt.event.*; 
    import java.awt.*;
    import javax.swing.*;
    public class WindowMess extends JFrame implements ActionListener {
        /**
    	 * 
    	 */
    	private static final long serialVersionUID = -2662134241642973046L;
    	JTextField inputEnglish;
        JTextArea show;
        String regex = "[a-zA-Z]+"; 
        WindowMess() {
           inputEnglish=new JTextField(10);
           inputEnglish.addActionListener(this);
           show=new JTextArea(10,10); 
           //add(inputEnglish,BorderLayout.NORTH);
          // add(show,BorderLayout.CENTER); 
           this.setLayout(new FlowLayout());
           add(inputEnglish);
           show.setLineWrap(true);    //设置自动换行   
           add(new JScrollPane(show));
           setVisible(true);
           setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
        public void actionPerformed(ActionEvent e) { 
            if(e.getSource()==inputEnglish) {
               String str=inputEnglish.getText();
               if(str.matches(regex)) {
                   show.append(str+",");
               }
               else { //弹出消息对话框。
                   JOptionPane.showMessageDialog(this,"输入了非法字符","消息对话框",
                                                 JOptionPane.ERROR_MESSAGE);
                   inputEnglish.setText(null); 
               }  
           }
        }
    }
    
    
    

    在这里插入图片描述

    输入对话框:(弹出对话框可以输入数据)
    输入对话框有模式

    输入对话框含有供用户输入文本的文本框、一个确认和取消按钮,是有模式对话框。当输入对话框可见时,要求用户输入一个字符串。

    JOptionPane 类的静态方法

    第9章组件及事件处理

    public static String showInputDialog (Component parentComponent,

    Object message,

    String title,

    int messageType)

    可以创建一个 输入对话框,其中参数parentComponent指定输入对话框所依赖的组件,输入对话框会在该组件的正前方显示出来,如果parentComponent为null,输入对话框会在屏幕的正前方显示出来,参数message指定对话框上的提示信息,参数title 指定对话框上的标题,参数messageType可取的有效值是JOptionPane中的类常量:

    ●ERROR MESSAGE

    ●INFORMATION MESSAGE

    ●WARNING MESSAGE

    ●QUESTION_ MESSAGE

    ●PLAIN MESSAGE
    无模式
    在这里插入图片描述

    这些位可以给出对话框的外观。如取值JoiPane WARNIN MSSE时对话框的外观上会有个明显的“1” 符号。

    单击输入对话框上的确试按钮、取消按钮或关团图标,都可以使输入对话框消失不可见,如果单击的是确认按钮,输入对话框将这返回用户在对话框的文本输入对话框框中输入的字符事,否则返回null。输入数字,用空格分隔

    在下面的例子17中,用户单击按安钮弹出输入对话框,用户如果单击输入对话框上的确定,在输入对话框中输入若干个数字程序中输入对话框的运行效果

    public class Example9_17 {
    	   public static void main(String args[]) {
    	      WindowInput win=new WindowInput();
    	      win.setTitle("带输入对话框的窗口"); 
    	      win.setBounds(80,90,600,400);
    	   }
    	}
    
    
    package 例题1;
    
    import java.awt.event.*; 
    import java.awt.*;
    import javax.swing.*;
    import java.util.*;
    public class WindowInput extends JFrame implements ActionListener {
        /**
    	 * 
    	 */
    	private static final long serialVersionUID = 5060348990465300142L;
    	JTextArea showResult;
        JButton openInput;
        WindowInput() {
            openInput=new JButton("弹出输入对话框");
            showResult=new JTextArea(10,20);
            Font f =new Font("宋体",Font.PLAIN,23);
            showResult.setFont(f);
            this.setLayout(new FlowLayout());//设置为流式布局
            add(openInput);
            showResult.setLineWrap(true);    //设置自动换行   
            add(new JScrollPane(showResult));
            openInput.addActionListener(this); 
            setVisible(true);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
        public void actionPerformed(ActionEvent e) { 
            String str=JOptionPane.showInputDialog
           (this,"输入数字,用空格分隔","输入对话框",JOptionPane.PLAIN_MESSAGE);
            if(str!=null) {
               Scanner scanner = new Scanner(str);
               double sum=0;
               int k=0;
               while(scanner.hasNext()){
                  try{
                     double number=scanner.nextDouble();
                     if(k==0)
                        showResult.append(""+number);
                     else
                        showResult.append("+"+number);
                     sum=sum+number;
                     k++;
                  } 
                  catch(InputMismatchException exp){
                     String t=scanner.next();
                  }
              }
              showResult.append("="+sum+"\n");   
          }
       }
    }
    
    

    在这里插入图片描述

    确认对话框(弹出的对话框确认与否)
    确认对话框是有模式对话框,JOptionPane 类的静态方法
    public static int showConfi rmDialog (Component parent Component,
    Object message,
    String title,
    int optionType)

    得到一个确认对话框,其中参数parentComponent指定确认对话框可见时的位置,确认对话框在参数parentComponent指定的组件的正前方显示出来,
    如果prnrCompone为nl确认对话框会在屏幕的正前方显示出来。messge 指定对话框上显示的消息,tile 指定确认对话框的标题,opionTrpe 可取的有效值是JptinPane中的类常量:
    ●YES_NO_OPTION
    在这里插入图片描述

    ●YES _NO _CANCEL OPTION
    在这里插入图片描述

    ●OK_ CANCEL _OPTION
    在这里插入图片描述

    这些值可以给出对话框的外观,例如,取值YES _NO CANCEL OPTION时,确认对话框的外观上有yes和no两个按钮。
    当确认对话框消失后,JOptionPane.showConfirmDialog方法会返回下列整数值之一

    ●JOptionPane.YES OPTION
    ●JOptionPane.NO OPTION
    ●JOptionPane.CANCEL OPTION
    ●JOptionPane.OK OPTION
    ●JOptionPane.CLOSED OPTION
    返回的具体值依赖于用户所单击的对话框上的按钮和对话框上的关闭图标

    在下面的例子18 中,用户在文本框中输入账户名称,按回车后,将弹出一个确认对话框。如果单击确认对话框上的“是()"按钮,就将名字放入文本区。程序中确认对话框的运行效果如图9.18所示。

    public class Example9_18 {
    	   public static void main(String args[]) {
    	      WindowEnter win=new WindowEnter();
    	      win.setTitle("带确认对话框的窗口"); 
    	      win.setBounds(80,90,500,300);
    	   }
    	}
    
    
    import java.awt.event.*;
    import java.awt.*;
    import javax.swing.*;
    public class WindowEnter extends JFrame implements ActionListener {
       /**
    	 * 
    	 */
    	private static final long serialVersionUID = -7457112890172707618L;
    	JTextField inputName; 
    		JTextArea  save;
       WindowEnter(){
          inputName=new JTextField(22);
          inputName.addActionListener(this);
          save=new JTextArea(10,25);
          this.setLayout(new FlowLayout());
          add(inputName);
          save.setLineWrap(true);    //设置自动换行   
          add(new JScrollPane(save));
          setVisible(true);
          setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       }
       public void actionPerformed(ActionEvent e) {
          String s=inputName.getText();
          int n=JOptionPane.showConfirmDialog(this,"确认是否正确","确认对话框",
                                          JOptionPane.YES_NO_OPTION );
          if(n==JOptionPane.YES_OPTION) {  
             save.append("\n"+s);
          }  
          else if(n==JOptionPane.NO_OPTION) { 
             inputName.setText(null);
          }
       }
    }
    
    

    在这里插入图片描述

    展开全文
  • 模式对话框与非模式对话框的区别

    千次阅读 2018-09-28 14:56:47
    例子:在桌面上右击我的电脑,选择属性,弹出系统属性窗口,点击下面的技术支持,弹出技术支持信息,现在再对系统属性窗口进行操作就操作不了,这种叫做模式对话框;关闭技术支持信息,在系统属性里选择硬件,点击设备管理器,...
  • Vuejs对话框插件 轻量级,基于承诺的警报,提示和确认对话框。 演示版 v1.xx版的重要更新 对话框将始终使用对象来解析。 (即,继续进行的回调将始终收到一个对象) 对于指令用法,上面(1)返回的...该库已分为
  • 上一讲讲了属性页对话框和相关的两...加法计算器使用时大概可以分为三步:输入被加数、输入加数、点“计算”按钮。当功能实现了想要拥有美观的界面可以借助Toolkit Pro进行界面优化。 Xtreme Toolkit Pro:是屡获殊荣
  • JavaScript 对话框

    2021-05-24 22:11:00
    在JavaScript对话框可以分为警告窗、提示框和确认框3种。 1.警告框 警告框通常用于提示用户某些信息。当警告框出现后,用户需要点击确定按钮才能继续进行下一步操作。 使用Window对象的alert()方法可以创建一...
  • Qt对话框(一)

    2020-12-23 17:27:38
    对话框是 GUI 程序不可或缺的组成部分。很多不能或者不适合放入主窗口的 功能组件都必须放在对话框中设置。对话框通常会是一个顶层窗口,出现在程序 最上层,用于实现短期任务或者简洁的用户交互。 Qt中对话框实现...
  • 大体分为四类:ConfirmDialog //确认对话框,由用户来确认(比如按"Yes"或"No"按钮)InputDialog //提示输入对话框MessageDialog //显示信息对话框OptionDialog //组合其他三个对话框上述对话框采用show...
  • 这个问题也困扰了我很久。最近整理了下资料,写了一篇...对话框可以分为模态对话框 (modal dialogs) 和非模态对话框 (modeless dialogs)。模态 (modality) 会阻止用户完成当前视图上的任务,使用户专注于模态视图 (m...
  • 在“若依(ruoyi)”,数据选择对话框可以分为2类: 树表数据的选择对话框,比如选择部门。 非树表数据的选择对话框,比如选择商品、订单等。 树表的代码生产模板所生产的代码,已预置一个选择框,参考选择部门...
  • 6、QT基础——对话框QDialog

    千次阅读 2021-04-16 13:27:00
    对话框是 GUI 程序不可或缺的组成部分。很多不能或者不适合放入主窗口的功能组件都必须放在对话框中设置。对话框通常会是一个顶层窗口,出现在程序最上层,用于实现短期任务或者简洁的用户交互。 Qt 使用...
  • 安卓开发:eclipse创建按钮,并单击按钮弹出对话框
  • 在开发APK最常见的估计就数弹出对话框了,这种对话框按照按钮数量来分大致是三种:一个按钮,两个按钮,三个按钮。现在要讲的就是按照按钮数量分为以上三类吧(当然了可以有更多的按钮,只要你愿意)。 自定义Dialog...
  • mfc对话框中(Button)控件的显示与隐藏

    万次阅读 2018-09-05 17:00:17
    控件分为静态控件和动态控件 静态控件:一般我们从右边的工具栏上拖到对话框上的控件就是静态控件 动态控件:一般我们创建控件类继承于mfc的类,比如CButton,那么new出来的对象,就是动态创建的控件 控件的隐藏...
  • 我们现在布局文件设置好按钮,然后添加一个单击监听属性然后布置一下对话框的内容: 设置好之后,我们创建一个对话框对象,还有数组数据,因为我们需要吐司出我们所选择的数据故 创建一个变量来存储 我们选择的...
  • QT 消息对话框

    2022-07-27 09:26:48
    QT 消息对话框
  • tinkter标准对话框之messagebox,信息传递的消息对话框
  • 文章目录一、基本知识1.1 常用控件介绍 一、基本知识 对话框就是一个窗口,它...在MFC,所以的控件类都由CWnd类派生的。因此控件也是窗口。通常控件作为对话框的子窗口而创建的。控件也可以出现在视类窗口、工具...
  • QT标准对话框遵循相同的使用方式: /*定义对话框对象 DialogType 对话框类型 this ,指定当前对话框的父窗口 */ DialogType dlg(this); /* 设置对话框属性 */ dlg.setPropertyXXX(value) //以模态对框框的方式来...
  • 对话框分为两类:「模态的」和「非模态的」,其中模态对话框最为普遍。当您的程序显示一个模态对话框时,使用者不能在对话框与同一个程序的另一个窗口之间进行切换,使用者必须主动结束该对话框,这藉由通过按一下...
  • 对话框的八种形式

    千次阅读 2019-06-05 21:18:43
    对话框的八种形式 1、普通对话框 2、自定义对话框 3、单选对话框 4、多选对话框 5、水平进度条对话框 6、模糊进度条对话框 7、日期对话框 //时间对话框 private void shijian() { Calendar calendar = Calendar....
  • 对话框与窗口有区别,它没有最大化按钮、没有最小化按钮、不能改变形状大小对话框:是人机交流的一种方式,用户对对话框进行设置,计算机就会执行相应的命令。对话框中有单选框、复选框等。对话框的组成对话框主要由...
  • 这就需要用到 Windows应用程序一个很重要的用户接口 ——对话框对话框基本认识常用控件介绍对话框的种类模态对话框非模态对话框对话框的新建和显示模态对话框的创建非模态对话框的创建 对话框...
  • 对话框 QDialog ( 详解 )

    2022-07-24 20:14:27
    对话框是 GUI 程序不可或缺的组成部分。很多不能或者不适合放入主窗口的功能组件都必须放在对话框中设置。对话框通常会是一个顶层窗口,出现在程序最上层,用于实现短期任务或者简洁的用户交互。 Qt 使用...
  • 模式和非模式对话框

    2021-01-14 12:52:35
    现在,通过程序来看一下什么是模式对话框什么是非模式对话框。 一:创建一个基于对话框的MFC应用程序,程序名为DialogTest。 二:打开资源视图,点击IDD_DIALOGTEST_DIALOG显示窗口模板。删除IDC_STATIC控件并添加...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 44,148
精华内容 17,659
热门标签
关键字:

对话框中的选择按钮分为什么