Java图形化界面---JOptionPane

news/2024/11/19 12:29:46/

目录

一、JOptionPane的介绍

二、JOptionalPane的使用

(1)消息对话框

(2) 确认对话框

(3)输入对话框

(4)选项对话框


一、JOptionPane的介绍

通过JOptionPane可以非常方便地创建一些简单的对话框,Swing已经为这些对话框添加了相应的组件,无须程序员手动添加组件。JOptionPane提供以下四个方法来创建对话框。

方法:showMessageDialog            消息对话框,告知用户某事已发生,用户只能单击确定按钮
showConfirmDialog            确认对话框,向用户确认某个问题,用户可以选择yes,no,cancel等                              选项
showInputDialog              输入对话框,提示要求输入某些信息。
showOptionDialog             自定义选项对话框,允许使用自定义选项,可取代showConfirmDialog                              所产生的对话框

上述方法都有很多重载形式,选择其中一种最全的形式如下:
showxxxDialog(Component p
              Object message
              String title
              int optionType
              int messageType
              Icon icon
              Object[] options
              Object ini)

 

参数解释:
p:当前对话框的父组件

message:对话框显示的信息,可以是字符串,组件,图片等。

title:当前对话框的标题

optionType:当前对话框显示的按钮类型DEFAULT_OPTION,YES_NO_OPTION,YES_NO_CANCEL_OPTION,OK_CANCEL_OPTION

messageType:当前对话框的类型:ERROR_MESSAGE,INFORMATION_MESSAGE,WARNING_MESSAGE,QUESTION_MESSAGE,PLAIN_MESSAGE

icon:当前对话框左上角的图标

options:自定义下拉列表的选项

ini:自定义选项中的默认选项

二、JOptionalPane的使用

(1)消息对话框

案例:制作如图所示的界面,将文本域中的内容显示消息对话框中。 

public class exer1 {JFrame s=new JFrame("程序练习");JTextArea text=new JTextArea(10,40);JButton b=new JButton(new AbstractAction("消息对话框") {@Overridepublic void actionPerformed(ActionEvent e) {//点击按钮后弹出一个消息对话框,并且显示文本域中的内容String ss=text.getText();//获取文本域内容//参数最后一个表示指定消息对话框的类型:错误消息,警告消息,问题消息......//错误消息//JOptionPane.showMessageDialog(s,text,"消息对话框",JOptionPane.ERROR_MESSAGE);//警告消息JOptionPane.showMessageDialog(s,text,"消息对话框",JOptionPane.WARNING_MESSAGE);//问题消息//JOptionPane.showMessageDialog(s,text,"消息对话框",JOptionPane.QUESTION_MESSAGE);// 消息对话框// JOptionPane.showMessageDialog(s,text,"消息对话框",JOptionPane.INFORMATION_MESSAGE);//指定插入的图片// JOptionPane.showMessageDialog(s,ss,"消息对话框",JOptionPane.ERROR_MESSAGE,new ImageIcon());}});public void init(){//组装组件s.add(text);s.add(b,BorderLayout.SOUTH);s.pack();s.setVisible(true);s.setDefaultCloseOperation(3);}
}

(2) 确认对话框

案例:制作如图所示的界面,点击的选项在文本框中会显示。

public class exer1 {JFrame s=new JFrame("程序练习");JTextArea text=new JTextArea(10,40);JButton b=new JButton(new AbstractAction("确认对话框") {@Overridepublic void actionPerformed(ActionEvent e) {String ss=text.getText();text.append("\n");int res=JOptionPane.showConfirmDialog(s,ss,"确认对话框",JOptionPane.YES_NO_OPTION);if(res==JOptionPane.YES_OPTION){text.append("点击的是 是\n");}if(res==JOptionPane.NO_OPTION){text.append("点击的是 否\n");}}});public void init(){s.add(text);s.add(b,BorderLayout.SOUTH);s.setDefaultCloseOperation(3);s.pack();s.setVisible(true);}
}

(3)输入对话框

案例:制作如图所示的界面

 

public class exer1 {JFrame s=new JFrame("程序练习");JTextArea text=new JTextArea(10,40);JButton b=new JButton(new AbstractAction("输入对话框") {@Overridepublic void actionPerformed(ActionEvent e) {//弹出输入对话框//返回值是对话框中输入的内容String res=JOptionPane.showInputDialog(s,"请输入信息:","输入对话框",JOptionPane.INFORMATION_MESSAGE);text.append(res+"\n");}});public void init(){s.add(text);s.add(b,BorderLayout.SOUTH);s.setDefaultCloseOperation(3);s.pack();s.setVisible(true);}
}

(4)选项对话框

案例:制作如图所示的界面,选择对应的选项,则在文本域中会显示。

 

public class exer1 {JFrame s=new JFrame("程序练习");JTextArea text=new JTextArea(10,40);JButton b=new JButton(new AbstractAction("选项对话框") {@Overridepublic void actionPerformed(ActionEvent e) {//选项对话框String[] ss={"大号","中号","小号"};//返回值是数组下标,最后一个参数是默认选项int res=JOptionPane.showOptionDialog(s,"你选择的型号是:","选项对话框",JOptionPane.DEFAULT_OPTION,JOptionPane.INFORMATION_MESSAGE,null,ss,"中号");if(res==0){text.append("用户选择"+ss[0]);}if(res==1){text.append("用户选择"+ss[1]);}if(res==2){text.append("用户选择"+ss[2]);}}});public void init(){s.add(text);s.add(b,BorderLayout.SOUTH);s.setDefaultCloseOperation(3);s.pack();s.setVisible(true);}
}


http://www.ppmy.cn/news/12617.html

相关文章

SpringBoot单元测试

目录 1、JUnit5 的变化 2、JUnit5常用注解 3、断言(assertions) 4、前置条件(assumptions) 5、嵌套测试 6、参数化测试 7、迁移指南 1、JUnit5 的变化 官网:JUnit 5 User Guide Spring Boot 2.2.0 版本开始引入 JUni…

图像处理解决流程--外观检测

一、图像外观检测和面积计算 1、获取标准图像,提取要测定的区域(截取成多个ROI) 2、将目标图像的位置进行平移和旋转(将目标图像和标准图像进行重叠) 3、根据标准图像的区域进行以此计算目标图像的信息 4、判断统计 二…

【MySQL】运算符及相关函数详解

序号系列文章3【MySQL】MySQL基本数据类型4【MySQL】MySQL表的七大约束5【MySQL】字符集与校对集详解6【MySQL】MySQL单表操作详解文章目录前言MySQL运算符1,算术运算符1.1,算术运算符的基本使用1.2,常用数学函数的基本使用2,比较…

译文 | Kubernetes 1.26:PodDisruptionBudget 守护不健康 Pod 时所用的驱逐策略

对于 Kubernetes 集群而言,想要确保日常干扰不影响应用的可用性,不是一个简单的任务。上月发布的 Kubernetes v1.26 增加了一个新的特性:允许针对 PodDisruptionBudget (PDB) 指定不健康 Pod 驱逐策略,这有助于在节点执行管理操作…

我的2022

我的2022高考结束的暑假前言高考结束编程的引路人学校生活差点放弃蓝桥杯报名寒假期间摆烂的假期卷王结束我的摆烂假期23年计划寄语🎉welcome🎉 ✒️博主介绍:一名大一的智能制造专业学生,在学习C/C的路上会越走越远,后…

大数据技术架构(组件)——Hive:环境准备1

1.0.1、环境准备1.0.1.0、maven安装1.0.1.0.1、下载软件包1.0.1.0.2、配置环境变量1.0.1.0.3、调整maven仓库打开$MAVEN_HOME/conf/settings.xml文件&#xff0c;调整maven仓库地址以及镜像地址<settings xmIns"http://maven.apache.org/SETTINGS/1.0.0"xmIns:xsi…

数据湖之Hudi基础:入门介绍和编译部署

主要记录下Hudi的概述和打包编译等内容&#xff0c;方便参考 文章目录简介官网发展历史Hudi特性使用场景安装部署编译环境准备编译hudi1.源码包上传到服务器2.修改pom文件3.修改源码兼容hadoop34.手动安装kafka依赖&#xff08;非必须&#xff09;5.解决spark模块依赖冲突6.执行…

实现通讯录(C语言)

功能实现 实现步骤&#xff1a; 创建通讯录 初始化通讯录 打印菜单 实现选择功能 实现添加功能 实现删除功能 实现查找功能 实现修改功能 实现清空功能 实现排序功能 实现查询所有联系人信息功能 通讯录总代码 创建通讯录 1、创建成员信息结构体 我们用结构体来封装一个联系人…