netbeans使用各种对话框_第1页
netbeans使用各种对话框_第2页
netbeans使用各种对话框_第3页
netbeans使用各种对话框_第4页
netbeans使用各种对话框_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

如何使对话框一个对话窗口,是一个独立的子窗口,这意味着,除了主要的Swing应用程序窗口进行临时通知。大多数对话框给出一个错误消息或警告用户,但对话框可以呈现影像,目录树,或几乎任何兼容主要的Swing应用程序管理。为方便起见,一些Swing组件类可以直接实例化并显示对话框。创建简单的,标准的对话,您可以使用JOptionPane类。ProgressMonitor类,可以把一个对话框,显示操作的进度。其他两个班,JColorChooser和JFileChooser,还提供标准的对话。弹出一个打印对话框,您可以使用血API。要创建一个自定义对话框,直接使用JDialog类。代码进行简单的对话,可以说是微乎其微。例如,这里是一个信息对话框:Egssaren'tsupposedtobegreen.下面是创建和显示它的代码:JOptionPane.showMessageDialog(架,“鸡蛋不应该是绿色的。”)本节的其余部分包括以下主题:对话框概述DialogDemo范例JOptionPane的特点创建和显示简单的对话框自定义按钮文本从对话框获取用户输入的停止自动对话闭幕对话框API使用对话框的例子,对话框概述每个对话是依赖于一个框架组件。当那架被破坏,所以其依赖的对话框。当框架被图标化,依赖于它的对话框也从屏幕上消失。当帧deiconified,依赖于它的对话框返回到屏幕上。摆动的JDialog类继承了这一行为从AWT的Dialog类。一个对话框可以是模式。当一个模态对话框是可见的,它会阻止用户输入到程序中的所有其他窗口。JOptionPane的创建JDialogs的是模态。创建一个非模态对话框,你必须直接使用JDialog类。与JDK6日开始,您可以修改对话框窗口的方式使用的新模式API的行为。看到新形态的API细节。JDialog类是AWT的一个子类java.awt.Dialog类。它增加了一个根窗格容器默认关闭操作和支持的Dialog对象。这些都是相同的功能JFrame有,使用JDialog直接使用JFrame是非常相似。如果你打算直接使用JDialog,那么你应该明白,在材料使用的顶层容器和如何制作框架,特别是响应窗口关闭事件甚至当您使用JOptionPane,以实现一个对话框,你还在使用JDialog幕后。其原因在于JOptionPane仅仅是一个容器,它可以自动创建JDialog和添加自己JDialog的内容窗格。DialogDemo范例这里是一个图片显示对话框的应用程序。试试这个::单击“启动”按钮,以运行对话框演示使用的Java™Web开始(下载JDK6或更高版本)。另外,编译和运行自己的例子,咨询,例如指数。&Launch

点击显小它!按钮。一个模态对话框会出现。直到您关闭它,应用程序将是反应迟钝,虽然它会重绘本身如果有必要。您可以关闭该对话框,可以通过点击一个按钮,在对话框或如明确,通过对话的窗口装饰。在更多的对话框窗格中,单击底部的单选按钮,则显示它!按钮。一个非模态对话框会出现。请注意,DialogDemo窗口保持充分的功能,而在非模态对话框是。虽然非模态对话框显示,图标化DialogDemo窗口。该对话框会从屏幕上消失,直到,你deiconifyDialogDemo窗口。JOptionPane的特点使用JOptionPane,你可以快速创建和自定义几种不同类型的对话。JOptionPane铺设标准对话框,提供图标,指定对话框的标题和文本,自定义按钮的文本提供支持。其他功能允许您自定义的组件的对话框,并指定对话框出现在屏幕上。你甚至可以指定选项“窗格中放入一个内部框架(JInternalFrame,而不是一个)JDialog。当你创建一个JOptionPane,外观和手感特定的代码添加组件的JOptionPane并确定了这些组件的布局。JOptionPane“图标的支持,让您可以轻松地指定哪个图标对话框。你可以使用一个自定义图标,没有图标,或任何一个四个标准JOptionPane图标(问题,信息,警告和错误)。每个外观和手感都有它自己的版本的四个标准图标。下图显示了用于在Java(和Windows)的外观和感觉的图标。JOptionPane的使用的图标Windows

外观和感

觉JavaWindows

外观和感

觉问题问题信息警告错误创建和显示简单的对话框警告错误创建和显示简单的对话框对于最简单的模态对话框,创建和显示对话框,使用JOptionPane“showXxxDialog的方法之一。如果您的对话应该是一个内部框架,然后添加后InternalshowshowMessageDialogshowInternalMessageDialogInternal-例如,showMessageDialog变化showInternalMessageDialog。如果你需要控制对话窗口关闭行为,或者如果你不想是模态对话框,那么你应该直接实例JOptionPane并把它添加到JDialog实例。然后调用setVisible(true)上JDialog使其出现。两个最有用的showXxxDialog方法是showMessageDialog和showOptionDialog。 showMessageDialog方法显示一个简单,一键式“对话框。showOptionDialog方法显示一个自定义对话框-定制按钮的文本,它可以显示各种按钮,可以包含一个标准的文本消息或组件的集合。其他两个showXxxDialog的方法是使用较少。 showConfirmDialog方法要求用户确认的东西,但提出了标准按钮的文本,而不是定制的用户情况(启动/取消,例如)按钮上的文字(是/否或等效的本地化,例如)。第四个方法,showInputDialog,旨在从用户获取一个字符串,使用一个文本字段,一个不可编辑的组合框或列表显示一个模式对话框。下面是一些例子,取自DialogDemo.java,使用showMessageDialog,showOptionDialog,JOptionPane构造。更多的代码示例,请参阅DialogDemo.java和中列出的其他程序中使用对话框的例子。showMessageDialog显示一个按钮,这是标有“确定”(或等效的本地化)的模态对话框。你可以很容易地指定的消息,图标,对话框的标题。这里是showMessageDialog使用一些例子://默认的标题和图标JOptionPane.showMessageDialog(帧,“鸡蛋不应该是绿色的。”);

//自定义标题,警告图标JOptionPane.showMessageDialog(帧,“鸡蛋不应该是绿色的。”“空洞的警告”,JOptionPane.WARNING_MESSAGE);//自定义标题,错误图标JOptionPane.showMessageDialog(帧,“鸡蛋不应该是绿色的。”“空洞的错误”,JOptionPane.ERROR_MESSAGE);//自定义标题,没有图标JOptionPane.showMessageDialog(帧,“鸡蛋不应该是绿色的。”“平原消息”,JOptionPane.PLAIN_MESSAGE);//自定义标题,自定义图标JOptionPane.showMessageDialog(帧,“鸡蛋不应该是绿色的。”“空洞的自定义对话框”JOptionPane.INFORMATION_MESSAGE,图标);showOptionDialog//自定义按钮文本显示模态对话框用指定的按钮,图标,消息,标题,等。用这种方法,您可以更改标准对话框的按钮显示的文字。您还可以执行许多其他类型的定制。//自定义按钮文本Object□的选项二{“是的,请”,“不,谢谢”“没有鸡蛋,没有火腿!”};N=JOptionPane.showOptionDialog(帧,“你愿意去一些绿色鸡蛋”+“火腿吗?”“一个愚蠢的问题”,JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE,空,选项,选项[2]);JOptionPane(构造)创建一个JOptionPane指定按钮,图标,消息,标题,等。然后,您必须添加一个JDialog选项窗格中,注册一个选项窗格上的属性更改侦听,显示对话框。停止自动对话闭幕详情。JOptionPane的最终选择目标=新JOptionPane的(“只有这样,才能关闭这个对话框是由\n”“按下列按钮之一。\N”“你懂吗?”JOptionPane.QUESTION_MESSAGE,JOptionPane.YES_NO_OPTION);所有的参数showXxxDialog的方法和JOptionPane构造是标准化的,虽然每个方法和构造函数的参数数量不同。以下列表描述了每个参数。看到一个特定的方法的参数的确切名单,看到对话框API。ComponentparentComponent每个showXxxDialog方法的第一个参数始终是父组件,它必须是一个框架,一个框架内的一个组成部分,或者为null。如果你指定了一个框架或对话框,然后对话框将出现在中心的框架,并按照该框架的

重点行为。如果你指定一个框架内的一个组成部分,那么该对话框将出现在该组件的中心,将遵循该组件的框架的重点行为。如果指定了空,然后将挑选的外观和感觉为一个适当的位置“对话框-一般屏幕的中心-对话不一定会按照任何可见的Frame或Dialog的焦点行为。JOptionPane构造不包括这种说法。相反,你指定的父框架,当您创建JDialog包含的JOptionPane,和你使用JDialogsetLocationRelativeTo方法的设置对话框的位置。ObjectObjectmessageStringtitleStringtitleintoptionTypeintmessageType这需要一个参数指定应显示在其主要领域的对话。一般来说,你指定一个字符串,结果对话框中显示一个具有指定文本的标签。几行,您可以拆分的消息把换行符(\n)字符内消息字符串。例如:“完成句子:\N'”绿鸡蛋和...\"”对话框的标题。指定出现在对话框底部的按钮。从以下的标准集之一:DEFAULT_OPTION,YES_NO_OPTION,YES_NO_CANCEL_OPTION,OK_CANCEL_OPTION选择。此参数决定在对话框中显示的图标。选择从下列值之一:PLAIN_MESSAGE(无图标),ERROR_MESSAGE,INFORMATION_MESSAGE,WARNING_MESSAGE,QUESTION_MESSAGE。IconIconicon图标显示在对话框中。Object口options一般用来指定每个按钮,在对话框底部显示的字符串。在一个标准的对话框中自定义按钮文本的详细信息。也可以用来指定要显示的图标按钮或按钮组件被添加到该按钮行。ObjectinitialValue要选择指定默认值。你可以让选项“窗格中显示的默认图标,或指定使用的消息类型图标或图标参数。默认情况下,与创建showMessageDialog选项窗格显示信息的图标,以创建一个showConfirmDialog或showInputDialog显示问号图标,并创建一个JOptionPane构造不显示图标。要指定对话框显示一个标准的图标或没有图标,指定消息类型对应的图标,你的愿望。要指定一个自定义图标,使用的图标参数。接管的消息类型图标参数优先;图标参数只要有一个非空值,对话框显示指定的图标。自定义按钮文本当您使用JOptionPane创建一个对话框,你可以使用标准的按钮上的文字(这可能会有所不同的外观和感觉和区域),或指定不同的文本。默认情况下,选项窗格类型确定按钮出现多少。例如,YES_NO_OPTION对话框有两个按钮,YES_NO_CANCEL_OPTION对话有三个按钮。下面的代码,从采取DialogDemo.java,创建“是/否对话框。第一个对话框是实施showConfirmDialog,它使用两个按钮的外观和感觉的字眼。第二个对话框使用showOptionDialog,因此它可以自定义的措辞。措辞变化异常,对话是相同的。//默认的图标,自定义标题整数n=JOptionPane.showConfirmDialog(帧,“你想绿蛋和火腿吗?”“空洞的问题”,JOptionPane.YES_NO_OPTION);Object□的选项二{“是的,请”,“没办法!”};N=JOptionPane.showOptionDialog(帧,“你想绿蛋和火腿吗?”“一个愚蠢的问题”,JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,NULL,//不使用自定义图标选项,//标题的按钮选项[0]);//默认按钮的标题正如前面的代码片段显示,showMessageDialog,showConfirmDialog,showOptionDialog方法返回一个整数,指示用户的选择。这个整数的值是YES_OPTION,NO_OPTIONCANCEL_OPTION,OK_OPTION和CLOSED_OPTION。每个选项对应,除CLOSED_OPTION,用户按下按钮。返回CLOSED_OPTION时,它表示用户关闭对话窗口明确,选择里面的选项窗格的按钮,而不是。即使你改变标准对话框按钮显示的字符串,返回值仍然是一个预先定义的整数。例如,YES_NO_OPTION对话总是返回下列值之一:YES_OPTION,NO_OPTION,或CLOSED_OPTION。从对话框获取用户输入的的唯一形式showXxxDialog不返回一个整数的是showInputDialog,它返回一个Object,而不是。这个Object通常是一个String反映用户的选择。下面是一个使用的例子showInputDialog创建一个对话框,让用户选择三个字符串之一:Object□的可能性二{“火腿”,"垃圾邮件”,“山药”};字符串s=(字符串)JOptionPane.showInputDialog(帧,“完成了一句:\N”+“\”绿鸡蛋和...\",“定制对话框”,JOptionPane.PLAIN_MESSAGE,图标,的可能性,“火腿”);//如果一个字符串返回,这样说。((!=NULL)&&(s.length()>0))(setLabel(“绿鸡蛋和...”++“!”);返回;}//如果你在这里,返回值是空/空。setLabel("来吧,说完这句话!”);如果你不在乎,限制用户的选择,你可以使用一个的形式showInputDialog方法,需要更少的参数,或指定null的对象数组。在Java的外观和感觉,而代以null的possibilities在一个对话框,有一个文本字段,看起来像这样的结果:因为用户可以在文本字段中键入任何东西,你可能要检查返回值,并要求用户再次尝试,如果它是无效的。另一种方法是创建一个自定义对话框中验证用户输入的数据,它返回之前。看到CustomDialog.java验证数据的一个例子。如果你正在设计一个自定义对话框,你需要设计你的对话框的API,让您可以查询“对话框,用户选择什么。例如,CustomDialog有一个getValidatedText方法返回用户输入的文本。停止自动对话闭幕默认情况下,当用户点击一个JOptionPane创建的按钮,关闭对话框。但是,如果你想关闭对话框前检查用户的答案吗?在这种情况下,你必须实现自己的属性更改侦听器,这样当用户点击一个按钮,对话框不会自动关闭。DialogDemo包含两个对话,实现属性更改侦听。这些对话之一,是一个自定义的模态对话框,在实施CustomDialog,使用JOptionPane同时获得标准图标和布局援助。其他的对话,其代码如下,使用一个标准是/否JOptionPane。虽然这种对话是书面的而不是无用的,它的代码是很简单的,您可以使用它作为一个更复杂的对话框模板。除了设置属性更改侦听器,下面的代码调用JDialog的setDefaultCloseOperation方法,并实现了一个窗口监听,正确处理窗口关闭企图。如果你不小心被通知当用户关闭窗口明确,然后忽略了大胆的代码。JOptionPane的最终选择目标=新JOptionPane的(“只有这样,才能关闭这个对话框是由\n”“按下列按钮之一。\N”“你懂吗?”JOptionPane.QUESTION_MESSAGE,JOptionPane.YES_NO_OPTION);最后的JDialog对话框二新的JDialog(帧,“按一下按钮”,TRUE);dialog.setContentPane(选择目标);dialog.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);dialog.addWindowListener(新WindowAdapter(){公共无效windowClosing(WindowEvent我们){setLabel("挫败用户试图关闭窗口”);}});optionPane.addPropertyChangeListener(新的PropertyChangeListener()(公共无效propertyChange(PropertyChangeEvent的E)(字符串道具二e.getPropertyName();如果(dialog.isVisible()&&(e.getSource()=二选择目标)&&(prop.equals(JOptionPane.VALUE_PROPERTY)))(//如果你要检查的东西//关闭窗口前,你会怎么做//这里。dialog.setVisible(假);}}});dialog.pack();dialog.setVisible(TRUE);值二((整数)optionPane.getValue的())的intValue();如果(价值==JOptionPane.YES_OPTION的){setLabel(“好。”);}否则,如果(值==JOptionPane.NO_OPTION)(setLabel(“尝试使用窗口装饰”+“关闭非自动关闭对话框。”+“你不能!”);}对话框API

下表列出了常用的JOptionPane和JDialog构造器和方法。你可能会调用的其他方法的Dialog,Window和Component类定义,包括pack,setSize,setVisible。的API如下:显示标准模态对话框(使用JOptionPane类方法)使用JOptionPane直接方法常用的JDialog构造器和方法显示标准模态对话框(使用JOptionPane类方法)方法目的静态的无效showMessageDialog(组显示个按钮,模态对话框,为用户提供一些信息。参数指定父组件的消息,标题,消息类型,对话框的图标(按顺序)。请参阅创建和显示简单对话框的参数及其影件,对象)静态的无效showMessageDialog(组件,对象,字符串,整数)静态的无效showMessageDialog(组响的讨论。件,对象,字符串,整数,图标)静态,诠释showOptionDialog(组件,对象,字符串,整型,整型,图显示个定制的模态对话框。参数指定(按顺序)的父组件,消息,标题,选项类型,消息类型,图标,选项,对话框中的初始值。请参阅创建和显示简单对话框标,Object□的对象)的参数及其影响的讨论。静态,诠释showConfirmDialog(组显示个模态对话框,询问用户的个问题。参数指定父组件的消息,标题,选项类型,消息类型,并为对话图标(按顺序)。请参阅创建和显示简单对话框的参数及其影响的讨论。件,对象)静态,诠释showConfirmDialog(组件,对象,字符串,整数)静态诠释showConfirmDialog(组件,对象,字符串,INT,INT)静态诠释showConfirmDialog(组件,对象,字符串,INT,INT,图标)静态字符串showInputDialog(对象)静态,弦乐showInputDialog(组件,显示个模态对话框,提示用户输入。单对象)静态,弦乐showInputDialog(组件,参数版本指定的消息,只是与父组件假定为空。其他版本的参数指定(按顺序)的父组件,消息标题,消息类型,图标,选项,对话框中的初始值。请参阅创建和显示简单对话框的参数及其影响的讨论。对象,字符串,整数)静态字符串showInputDialog(组件,对象,字符串,整数,图标,Object口的对象)静态空白实施标准作为内部框架对话框。看到

showInternalMessageDialog(...)JOptionPaneAPI文档的参数的确切名单。静态空白showInternalOptionDialog(...)静态空白showInternalConfirmDialog(...)静态串showInternalInputDialog(...)使用JOptionPane直接方法方法或构造目的JOptionPane的()JOptionPane的(对象)JOptionPane的(对象,INT)JOptionPane的(对象,INT,INT)创建一个JOptionPane实例。请参阅创建和JOptionPane的(对象,INT,INT,图标)JOptionPane的(对象,INT,INT,显示简单对话框的参数及其影响的讨论。图标,对象口)JOptionPane的(对象,INT,INT,图标,Object□的对象)静帧getFrameForComponent(组方便找到JOptionPane框架或桌面窗格中,分别指定组件所在的JOptionPane类方法件)静态JDesktopPanegetDesktopPaneForComponent(组件)INTgetMaxCharactersPerLineCount确定选项窗格中的文本将自动插入换行符。(默认值是Integer.MAX_VALUE。)要使用此方法,你必须创建一个JOptionPane子类。例如,在同个字,每行,由于一个事实,即字符串中的每个字是5个字符或更少的选项窗格下面的代码的结果:JOptionPane的OP-新JOptionPane的(“这是文本。”){的公共的诠释getMaxCharactersPerLineCount()(返回5;}};()常用的JDialog构造器和方法方法或构造目的JDialog的()JDial

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论