当前位置:首页 » 《我的小黑屋》 » 正文

Java 创建图形用户界面(GUI)组件详解之对话框(弹窗)组件 JoptionPane

2 人参与  2024年10月10日 13:21  分类 : 《我的小黑屋》  评论

点击全文阅读


文章目录

组件详解对话框(弹窗)组件标准对话框:JoptionPaneJoptionPane 常用方法

组件详解

对话框(弹窗)组件

对话框:向用户显示信息或者获取用户提供的信息

分类:

模式对话框:在结束对它的处理之前,不允许用户与应用程序的其余窗口进行交互,主要用于在程序继续运行之前获取用户提供的信息

例如,当用户想要读取一个文件时,就会弹出一个模式文件对话框;用户必须给定一个文件名,然后程序才能够开始读操作;只有用户关闭这个模式对话框之后,应用才能够继续执行。

无模式对话框:允许用户同时在对话框和应用程序的其他部分输入信息

例如,工具条。只要需要,工具条可以停靠在任何地方,而且用户可以根据需要同时与应用窗口和工具条进行交互。


标准对话框:JoptionPane

Swing 有一组现成的简单对话框,可以让用户提供一些信息。

JOptionPane 有 4 个用于显示对话框的静态方法:

showMessageDialog() :显示一条消息并等待用户点击 OKshowConfirmDialog() :显示一条消息并等待用户确认(如 OK/Cancel)showOptionDialog() :显示一条消息并获得用户在一组选项中的选择showInputDialog() :显示一条消息并获得用户输人的一行文本

对话框有以下组件

一个图标

一条消息

一个或多个选项按钮

输入对话框有一个用于接收用户输人的额外组件。

一个文本域,用户可以输入任何的字符串,或是一个组合框,用户可以从中选择一项。

这些对话框的具体布局为标准消息类型选择的图标都取决于可插接式观感。

左侧的图标取决于下面 5 种消息类型:

ERROR_MESSAGEINFORMATION_MESSAGEWARNING_MESSAGEQUESTION_MESSAGEPLAIN_MESSAGE(该类型没有图标)

每个对话框类型都有一个方法,可以用来提供自己的图标,以替代原来的图标。

可以为每个对话框类型指定一条消息

这里的消息既可以是字符串、图标、用户界面组件,也可以是其他类型的对象。

可以如下显示消息对象:

String:绘制字符串;Icon:显示图标;Component:显示组件;Object[]:显示数组中的所有对象,依次叠加任何其它对象:调用 toString() 方法来显示结果字符串

提供字符串消息是目前为止最常见的情况,而提供一个 Component 会带来更大的灵活性,这是因为可以让 paintComponent() 方法绘制你想要的任何内容。

对话框位于底部的按钮取决于对话框类型和选项类型

showMessageDialog():只能看到一个标准的按钮:确认

showInputDialog():只能看到一组标准按钮:确认/取消

showOptionDialog() :可以指定一组任意的选项

需要提供一个对象数组作为选项,每个数组元素会如下显示:

String:创建一个按钮,使用字符串作为标签Icon:创建一个按钮,使用图标作为标签

Component:显示这个组件

其他类型的对象:应用 toString() 方法,然后创建一个按钮,用结果字符串作为标签。

showConfirmDialog() :可以指定 optionType(选项类型)属性为四种选项类型之一:

DEFAULT_OPTION(默认选项)YES_NO_OPTION(Yes/No 选项)YES_NO_CANCEL_OPTION(Yes/No/Cancel 选项)OK_CANCEL_OPTION(ok 选项)

代码示例:

int selection = JOptionPane.showConfirmDialog(parent,"Message","Title",JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE);if (selection =JOptionPane.OK OPTION){...}

JoptionPane 常用方法

javax.swing.JoptionPane

显示一个消息对话框或者一个内部消息对话框(内部对话框完全显示在其父组件窗体内)

static void showMessageDialog(Component parent, Object message, String title, int messageType,Icon icon)static void showMessageDialog(Component parent, Object message, String title, int messageType)static void showMessageDialog(Component parent, Object message)static void showInternalMessageDialog(Component parent, Object message, String title, intmessageType,Icon icon)static void showInternalMessageDialog(Component parent, Object message, String title, intmessageType)static void showInternalMessageDialog(Component parent, Object message)
parent(父组件)参数:可以为 nullmessage 参数:显示在对话框中的消息可以是字符串、图标、组件或者它们的一个数组messageType 参数:取值为 ERROR_MESSAGE、INFORMATION_MESSAGE、WARNING_MESSAGE、QUESTION_MESSAGE 和 PLAIN_MESSAGE

显示一个确认对话框或者内部确认对话框(内部对话框完全显示在其父组件窗体内)

static int showConfirmDialog(Component parent, Object message, String title, int optionType,int messageType, Icon icon)static int showConfirmDialog(Component parent, Object message, String title, int optionType,int messageType)static int showConfirmDialog(Component parent, Object message, String title, int optionType)static int showConfirmDialog(Component parent, Object message)static int showInternalConfirmDialog(Component parent, object message, String title, intoptionType,int messageType,Icon icon)static int showInternalConfirmDialog(Component parent, Object message, String title, intoptionType,int messageType)static int showInternalConfirmDialog(Component parent, Object message, String title, intoptionType)static int showInternalConfirmDialog(Component parent, Object message)
返回值:返回用户选择的选项的索引值 OK_OPTION 选项的索引值为 0YES_OPTION 选项的索引值为 0NO_OPTION 选项的索引值为 1CANCEL_OPTION 选项的索引值为 2CLOSED_OPTION 选项(用户关闭对话框)的索引值为 -1 optionType 参数:取值为 DEFAULT_OPTION、YES_NO_OPTION、YES_NO_CANCEL_OPTION、OK_CANCEL_OPTION其他参数同消息对话框

显示一个选项对话框或者内部选项对话框(内部对话框完全显示在其父组件窗体内)

static int showoptionDialog(Component parent, Object message, String title, int optionType, int messageType, Icon icon, Object[] options, Object default)static int showInternalOptionDialog(Component parent, Object message, String title, intoptionType, int messageType, Icon icon, Object[] options, Object default)
返回值:返回用户选择的选项的索引值参数同消息对话框

显示一个输入对话框或者内部输入对话框(内部对话框完全显示在其父组件窗体内)

static Object showInputDialog(Component parent, Object message, String title, int messageType, Icon icon, Object[] values,Object default)static String showInputDialog(Component parent, Object message, String title, int messageType)static String showInputDialog(Component parent, Object message)static String showInputDialog(Object message)static String showInputDialog(Component parent, Object message, Object default)static String showInputDialog(Object message, Object default)static Object showInternalInputDialog(Component parent, Object message, String title, intmessageType, Icon icon, Object[]values, Object default)static String showInternalInputDialog(Component parent, Object message, String title, int messagelype)static String showInternalInputDialog(Component parent, Object message)
返回值:返回用户输入的字符串;如果用户取消了对话框则返回 null参数同消息对话框

点击全文阅读


本文链接:http://m.zhangshiyu.com/post/170002.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 祖母寿宴,侯府冒牌嫡女被打脸了(沈屿安秦秀婉)阅读 -
  • 《雕花锦年,昭都旧梦》(裴辞鹤昭都)完结版小说全文免费阅读_最新热门小说《雕花锦年,昭都旧梦》(裴辞鹤昭都) -
  • 郊区41号(许洛竹王云云)完整版免费阅读_最新全本小说郊区41号(许洛竹王云云) -
  • 负我情深几许(白诗茵陆司宴)完结版小说阅读_最热门小说排行榜负我情深几许白诗茵陆司宴 -
  • 九胞胎孕妇赖上我萱萱蓉蓉免费阅读全文_免费小说在线看九胞胎孕妇赖上我萱萱蓉蓉 -
  • 为保白月光,侯爷拿我抵了债(谢景安花田)小说完结版_完结版小说全文免费阅读为保白月光,侯爷拿我抵了债谢景安花田 -
  • 陆望程映川上官硕《我的阿爹是带攻略系统的替身》最新章节阅读_(我的阿爹是带攻略系统的替身)全章节免费在线阅读陆望程映川上官硕
  • 郑雅琴魏旭明免费阅读_郑雅琴魏旭明小说全文阅读笔趣阁
  • 头条热门小说《乔书意贺宴临(乔书意贺宴临)》乔书意贺宴临(全集完整小说大结局)全文阅读笔趣阁
  • 完结好看小说跨年夜,老婆初恋送儿子故意出车祸_沈月柔林瀚枫完结的小说免费阅读推荐
  • 热推《郑雅琴魏旭明》郑雅琴魏旭明~小说全文阅读~完本【已完结】笔趣阁
  • 《你的遗憾与我无关》宋怀川冯洛洛无弹窗小说免费阅读_免费小说大全《你的遗憾与我无关》宋怀川冯洛洛 -

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1