第8章建立对话框8.1Dialog类8.2文件对话框8.3消息对话框8.4确认对话框8.5颜色对话框8.1Dialog类Dialog类和Frame都是Window的子类,二者有相似之处也有不同的地方,比如Dialog没有添加菜单的功能,而且对话框必须要依赖于某个窗口或组件,当它所依赖的窗口或组件消失,对话框也将消失;而当它所依赖的窗口或组件可见时,对话框又会自动恢复。1.Dialod类的主要方法(1)Dialod(Framef,Strings)构造一个具有标题的初始不可见的对话框,参数s是标题的名字,f是对话框所依赖的窗口。(2)Dialod(Framef,Strings,booleanb)构造一个具有标题s的初始不可见的对话框。参数b决定对话框是否为有模式或无模式,参数f是对话框所依赖的窗口。(3)getTitle()获取对话框的标题。(4)setTitle():设置对话框的标题。(5)setModal(boolean)设置对话框的模式2.对话框的模式对话框分为无模式和有模式两种。如果一个对话框是有模式的对话框,那么当这个对话框处于激活状态时,只让程序响应对话框内部的事件,程序不能再激活它所依赖的窗口或组件,而且它将堵塞当前线程的执行,即堵塞使得对话框处于激活状态的线程,直到该对话框消失不可见。无模式对话框处于激活状态时,程序仍能激活它所依赖的窗口或组件,它也不堵塞线程的执行。8.2文件对话框FileDialog是Dialog类的子类,它创建的对象称为文件对话框。文件对话框是一个打开文件和保存文件的有模式对话框。文件对话框必须依附一个Frame对象。FileDialog类主要方法(1)FileDialog(Framef,Strings,intmode)构造方法,参数f是所创建的对话框所依赖的窗口对象,s是对话框的名字,mode的取值为FileDialog.LOAD或FileDialod.SAVE,决定对话是打开文件模型或保存文件模型,如图8.2所示。(2)publicStringgetDirectory()获取当前文件对话框中显示的文件的所属目录。(3)publicStringgetFile()获取当前文件对话框中显示的文件的字符串表示,如果不存在就得到null。8.3消息对话框消息对话框是有模式对话框,进行一个重要的操作动作之前,最好能弹出一个消息对话框。JOptionPane类的静态方法:publicstaticvoidshowMessageDialog(ComponentparentComponent,Stringmessage,Stringtitle,intmessageType)创建一个消息对话框.messageType取下列有效值:JOptionPane.INFORMATION_MESSAGEJOptionPane.WARNING_MESSAGEJOptionPane.ERROR_MESSAGEJOptionPane.QUESTION_MESSAGEJOptionPane.PLAIN_MESSAGE这些值可以确定对话框的外观8.4确认对话框确认对话框是有模式对话框.JOptionPane类的静态方法:publicstaticintshowConfirmDialog(ComponentparentComponent,Objectmessage,Stringtitle,intoptionType)得到一个确认对话框.messageType取下列有效值:JOptionPane.YES_NO_OPTIONJOptionPane.YES_NO_CANCEL_OPTIONJOptionPane.OK_CANCEL_OPTION这些值可以确定对话框的外观8.5颜色对话框javax.swing包中的JColorChooser类的静态方法:publicstaticColorshowDialog(Componentcomponent,Stringtitle,ColorinitialColor)创建一个颜色对话框.参数component指定对话框所依赖的组件,title指定对话框的标题;initialColor指定对话框返回的初始颜色,即对话框消失后,返回的默认值。颜色对话框可根据用户在颜色对话框中选择的颜色返回一个颜色对象。