- 浏览: 131578 次
- 性别:
- 来自: 杭州
最新评论
-
qunhao12:
楼主,我学java也有半年了,但在java的那些容器方面的了解 ...
Java Swing中弹出对话框 -
iwlk:
是你写的吗? 强大~
如果有农历转阳历,就更好了~
java 实现 阳历转阴历 -
han2000lei:
还有一个重要的问题,怎么在批处理里面设置环境变量生效?我在网上 ...
(ZZ)DOS设置环境变量永久写入注册表 -
han2000lei:
好用啊,太好用了,网上只此一篇有用的文章。如果我把PATH的值 ...
(ZZ)DOS设置环境变量永久写入注册表 -
szxiaokang:
真好使
linux 安装jdk出现Error occurred during initialization of VM
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); 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 按钮 "); } 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"); 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+" 项目 ");
public class JOptionPane extends JComponent implements Accessible
JOptionPane 有助于方便地弹出要求用户提供值或向其发出通知的标准对话框。有关使用 JOptionPane 的信息,请参见 The Java Tutorial 中的 How to Make Dialogs 一节。
虽然由于方法数多使 JOptionPane 类可能显得复杂,但几乎所有此类的使用都是对下列静态 showXxxDialog 方法之一的单行调用:
方法名 |
描述 |
showConfi |
|
rmDialog |
询问一个确认问题,如 yes/no/cancel 。 |
showInputDialog |
提示要求某些输入。 |
showMessageDialog |
告知用户某事已发生。 |
showOptionDialog |
上述三项的大统一 (Grand Unification) 。 |
所有这些方法还可能以 showInternalXXX 风格出现,该风格使用内部窗体来保存对话框(请参见 JInternalFrame )。此外还定义了多种便捷方法,这些方法重载那些基本方法,使用不同的参数列表。
所有对话框都是有模式的。在用户交互完成之前,每个 showXxxDialog 方法都一直阻塞调用者。
图标 |
消息 |
输入值 |
|
选项按钮 |
这些对话框的基本外形通常与右图类似,尽管各种外观从根本上决定着最后结果。尤其是,外观可以调整布局以适应选项窗格的 ComponentOrientation 属性。
参数:
这些方法的参数遵守一致的模式:
parentComponent
定义作为此对话框的父对话框的 Component 。通过两种方式使用此参数:包含它的 Frame 可以用作对话框的父 Frame ,在对话框的位置使用其屏幕坐标。一般情况下,将对话框紧靠组件置于其之下。此参数可以为 null ,在这种情况下,默认的 Frame 用作父级,并且对话框将居中位于屏幕上(取决于 L&F )。
要置于对话框中的描述消息。在最常见的应用中, message 就是一个 String 或 String 常量。不过,此参数的类型实际上是 Object 。其解释依赖于其类型:
Object[]
对象数组被解释为在纵向堆栈中排列的一系列 message (每个对象一个)。解释是递归式的,即根据其类型解释数组中的每个对象。
Component
该 Component 在对话框中显示。
Icon
该 Icon 被包装在 JLabel 中并在对话框中显示。
其他
该对象通过调用其 toString 方法被转换为 String 。结果被包装在 JLabel 中显示。
messageType
定义 message 的样式。外观管理器根据此值对对话框进行不同地布置,并且通常提供默认图标。可能的值为:
ERROR_MESSAGE
INFORMATION_MESSAGE
WARNING_MESSAGE
QUESTION_MESSAGE
PLAIN_MESSAGE
optionType
定义在对话框的底部显示的选项按钮的集合:
DEFAULT_OPTION
YES_NO_OPTION
YES_NO_CANCEL_OPTION
OK_CANCEL_OPTION
用户并非仅限于使用此选项按钮集合。使用 options 参数可以提供想使用的任何按钮。
options
将在对话框底部显示的选项按钮集合的更详细描述。 options 参数的常规值是 String 数组,但是参数类型是 Object 数组。根据对象的以下类型为每个对象创建一个按钮:
Component
该组件被直接添加到按钮行中。
Icon
创建的 JButton 以此图标作为其标签。
其他
该 Object 通过使用其 toString 方法转换为字符串,并使用该结果作为 JButton 的标签。
icon
要置于对话框中的装饰性图标。图标的默认值由 messageType 参数确定。
title
对话框的标题。
initialValue
默认选择(输入值)。
当选择更改时,调用生成 PropertyChangeEvent 的 setValue 方法。
如果已为所有输入 setWantsInput 配置了 JOptionPane ,则还可以侦听绑定属性 JOptionPane.INPUT_VALUE_PROPERTY ,以确定何时用户输入或选择了值。
当其中一个 showXxxDialog 方法返回整数时,可能的值为:
YES_OPTION
NO_OPTION
CANCEL_OPTION
OK_OPTION
CLOSED_OPTION
示例:
显示一个错误对话框,该对话框显示的 message 为 'alert' :
JOptionPane.showMessageDialog(null, "alert", "alert", JOptionPane.ERROR_MESSAGE);
显示一个内部信息对话框,其 message 为 'information' :
JOptionPane.showInternalMessageDialog(frame, "information",
"information", JOptionPane.INFORMATION_MESSAGE);
显示一个信息面板,其 options 为 "yes/no" , message 为 'choose one' :
JOptionPane.showConfirmDialog(null,
"choose one", "choose one", JOptionPane.YES_NO_OPTION);
显示一个内部信息对话框,其 options 为 "yes/no/cancel" , message 为 'please choose one' ,并具有 title 信息:
JOptionPane.showInternalConfirmDialog(frame,
"please choose one", "information",
JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE);
显示一个警告对话框,其 options 为 OK 、 CANCEL , title 为 'Warning' , message 为 'Click OK to continue' :
Object[] options =
{ "OK", "CANCEL" };
JOptionPane.showOptionDialog(null, "Click OK to continue",
"Warning",
JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE,
null, options, options[0]);
显示一个要求用户键入 String 的对话框:
String inputValue = JOptionPane.showInputDialog("Please input a value");
显示一个要求用户选择 String 的对话框:
Object[]
possibleValues = { "First", "Second", "Third" };
Object selectedValue = JOptionPane.showInputDialog(null,
"Choose one", "Input",
JOptionPane.INFORMATION_MESSAGE, null,
possibleValues, possibleValues[0]);
直接使用:
要直接创建和使用
JOptionPane
,标准模式大致如下:
JOptionPane pane = new JOptionPane(arguments); pane.set.Xxxx(...); // Configure JDialog dialog = pane.createDialog(parentComponent, title); dialog.show(); Object selectedValue = pane.getValue(); if(selectedValue == null) return CLOSED_OPTION; //If there is not an array of option buttons: if(options == null) { if(selectedValue instanceof Integer) return ((Integer)selectedValue).intValue(); return CLOSED_OPTION; } //If there is an array of option buttons: for(int counter = 0, maxCounter = options.length; counter < maxCounter; counter++) { if(options[counter].equals(selectedValue)) return counter; } return CLOSED_OPTION;
评论
发表评论
-
自增运算
2012-02-17 13:56 872代码1 : int j = 0; for (int ... -
为Java程序制作windows安装包
2011-01-20 17:35 12114将java程序制作成Windows下的安装需要完成如下步骤: ... -
java 实现 阳历转阴历
2011-01-20 15:54 4739阴历(lunar calendar )不像阳历(solar ... -
Windows下删除.svn文件夹的最简易方法
2010-11-15 11:03 1096SVN是我认为目前最方便的版本管理体系。我最早一次接触版本管理 ... -
【showModalDialog】模式对话框中打开链接,但不开启新窗口
2010-11-11 11:44 1616在模式窗口中打开连接不开新窗口 在<head> ... -
ShowModalDialog与window.open的区别
2010-11-11 11:42 1637一、ShowModalDialog函数、 ... -
解决“警告:网页已经过期”问题
2010-11-05 10:50 2399在IE浏览器下运行 <script type=&quo ... -
获取URL
2010-10-14 14:18 5571. 获取上上个请求的URL 在HTTP的re ... -
DisplayTag
2010-09-05 11:28 783Display Tag Lib是一个标签 ... -
用servlet显示图片
2010-09-01 15:21 1645最近,公司用 servlet ... -
JavaMail: Error in subject “=?ANSI_X3.4-1968?Q?Testmail….“
2010-09-01 14:58 4362忽略操作系统影响,使用JavaMail发信时,会发现sub ... -
Proxool连接池在reload web容器时出现HouseKeeper的空指针异常
2010-09-01 14:50 1243使用Proxool连接池, 当在关闭或重启Tomcat容器时, ... -
request.getParameter()、request.getInputStream()和request.getReader()
2010-07-15 15:46 23429大家经常 用servlet和jsp ... -
Linux下配置java开发环境(JDK + NetBeans)
2010-04-13 17:35 15701、下载linux版本的JDK的bin文件。 2 ... -
解决struts1中文乱码问题
2010-03-24 18:42 1585最近工作中遇到一些中文乱码的问题,其中包括在struts1框架 ... -
解决NetBeans的桌面应用程序不能建立数据库连接的问题
2009-12-22 11:55 1544用NetBeans建立了一个桌面应用程序(Desktop Ap ...
相关推荐
在Java的Swing框架中,弹出对话框是与用户交互的一种常见方式,主要用于限制用户行为、提示用户操作结果或请求用户输入。JOptionPane类在Swing中扮演着关键角色,它提供了一系列静态方法用于创建各种标准对话框,如...
总的来说,Java提供了多种方式来实现“点击按钮弹出对话框”的功能,无论你是使用Swing还是JavaFX,都可以根据项目需求选择适合的库和方法。通过熟练掌握这些技巧,你可以创建更加互动和用户友好的Java应用程序。
JAVA的字体格式设置对话框,用swing实现,可设置字体的大小,类型和样式。
在Java、Python、C#、JavaScript等编程语言中,创建弹出对话框有不同的方法。例如,在Java Swing或JavaFX中,我们可以使用JOptionPane类创建各种类型的对话框;在Python的Tkinter库中,我们可以使用messagebox模块;...
在JavaScript中,弹出对话框有几种常见的方法。最基本的有`alert()`用于显示警告信息,`prompt()`用于获取用户输入,以及`confirm()`用于请求用户确认。这些内置对话框都是阻塞式的,意味着它们会暂停页面的执行,...
String message = "这是一个Java Swing弹出对话框"; JOptionPane.showMessageDialog(null, message, "警告", JOptionPane.INFORMATION_MESSAGE); } } ``` 对于C# Windows Forms或WPF,我们可以利用MessageBox类...
同时,为了提高用户体验,应确保新弹出的对话框与原有对话框之间的逻辑关系清晰,避免频繁弹出对话框导致用户困扰。对话框的设计和使用是GUI编程中重要的一环,正确运用可以大大提高软件的易用性和用户满意度。
在软件开发中,点击按钮弹出对话框是一种常见的交互方式,用于向用户展示信息、获取输入或进行确认操作。对话框通常分为模态和非模态两种类型,模态对话框会阻塞用户对主窗口的操作,直到对话框关闭;而非模态对话框...
下面将详细介绍如何在Java中实现点击按钮后弹出自定义对话框的功能。 首先,Java提供了两种主要的对话框类型:JOptionPane和JDialog。JOptionPane是Swing库中的一个类,它提供了一些预定义的对话框样式,如信息...
Swing还包含了诸如JOptionPane这样的对话框组件,用于弹出信息提示、确认对话或输入框。JTabbedPane允许在单个窗口中组织多个组件,而JSplitPane则可以实现窗口的分割,便于用户查看和操作多部分内容。 对于国际化...
4. **多线程**:为了不影响主程序的正常运行,弹出对话框的操作应在一个独立的线程中执行,防止阻塞主线程,确保程序的响应性。 5. **编程语言和库**:实现这一功能可以使用多种编程语言,如Java、C#、Python等。每...
JProgressBar可以用来显示上传进度,而JOptionPane则可以用于弹出警告或确认对话框。 总的来说,这个Java Swing 文件批量上传DEMO涵盖了Java GUI编程、文件I/O、网络编程、多线程以及用户交互等多个方面,对于初学...
开发者可以通过JFileChooser的showOpenDialog或showSaveDialog方法来弹出对话框让用户选择文件。在“java swing upload demo”中,这个组件可能被用来让用户选择需要上传的文件。 在文件选择后,通常会使用java.io...
Swing是Java编程语言中的一个图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分。...通过理解并熟练使用这些Swing弹出框,开发者可以创建出用户友好且功能丰富的Java桌面应用程序。
Swing 提供了装饰器模式,使得我们可以方便地为组件添加视觉效果,如JOptionPane用于弹出对话框,JOptionPane.showMessageDialog()方法可以创建一个简单的信息对话框。同时,Swing 还支持组件的可定制性,可以创建...
11. JOptionPane:用于创建弹出对话框,如警告、确认、输入等。 Swing还支持事件处理,例如ActionListener接口用于处理按钮点击等动作事件,ItemListener用于监听单选按钮和复选框的选中状态变化。此外,Swing引入...
此外,Swing还包含了JTabbedPane用于创建多面板的界面,JSplitPane用于分割视图,以及JOptionPane用于弹出对话框。Swing也支持自定义外观,通过LookAndFeel API可以改变整个应用的视觉风格。 总的来说,"深入浅出...
用户点击文本框时,会弹出一个包含日历视图的对话框,用户可以在其中选择日期,然后选择的日期会显示在文本框内。这种设计简洁直观,适用于需要快速选择日期的情况。实现过程中,可以利用`JOptionPane`创建自定义...
例如,JPanel可以用于组织和管理子组件,而JDialog则用于创建弹出对话框。 布局管理器(LayoutManager)是Swing中控制组件在容器内排列的重要工具。不同的布局管理器有不同的排列策略,如FlowLayout(流式布局)、...