选项对话框

来源:互联网 发布:遗传算法matlab程序 编辑:程序博客网 时间:2024/05/22 13:55

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

    *void showMessageDialog():显示一条消息并等待用户点击ok

    *int showComfirmDialog():显示一条消息并等待用户确认,返回表示备选项的一个整数

    *showOptionDialog:显示一条消息并获得用户在一组选选项中的选择,返回表示被选项的一个整数

    *showInputDialog:显示一条消息并获得用户输入的一行文本,返回用户选择或输入的字符串(使用showInputDialog时,可以指定任意的选项,需要为选项提供一个对象数组,每个数组元素可以是下列类型之一:String,Icon,Component)

2.对话框具有下列组件

 (1)一个图标(左侧的图标由下面5种类型决定:ERROR_MESSAGE,INFORMATION_MESSAGE,WARNING_MESSAGE,QUESTION_MESSAGE,PLAIN_MESSAGE(没有图标))

 (2)一个消息

 (3)一个或多个按钮(当调用showMessageDialog和showInputDialog时,只能看到一组标准按钮。当调用showConfirmDialog时,可以选择下面四种选项类型之一:DEFAULT_OPTION,YES_NO_OPTION,YES_NO_CANCEL_OPTION,OK_CANCEL_OPTION)

3.创建对话框(需要从JDialog派生一个类)

  (1)具体过程如下

            *在对话框构造器中,调用超类JDialog的构造器(public JDialog(Frame parent,String title,boolean modal))modal:true代表模式对话框(阻隔其他窗口的输入)

            *添加对话框的用户界面组件

            *添加事件处理器

            *设置对话框的大小

4.简历文件对话框并获取用户选择信息的步骤:

 (1)建立一个JFileChooser对象,与JDialog类的构造器不同,他不需要指定父组件,允许在多个框架中重用一个文件选择器,例如:JFileChooser chooser = new JFileChooser();

 (2)调用setCurrentDirectory方法设置当前目录:chooser.setCurrentDirectory(new Fle("."));

 (3)如果有一个想要作为用户选择的默认文件名,可以使用setSelectedFile方法进行指定,chooser.setSelectedFile(new File(filename));

 (4)如果允许用户在对话框中选择多个文件,需要调用setMultiSelectionEnabled方法。

 (5)如果想让对话框仅显示某一种类型的文件,需要设置文件过滤器

 (6)在默认情况下,用户在文件选择其中只能选择文件,如果希望选择目录,需要调用setFileSelectionMode方法。参数值为:JFileChooser.FILES_ONLY,JFileChooser.DIRECTORIES_ONLY或者JFileChooser.FILES_AND_DIRECTORIES

 (7)调用showOpenDialog或者showSaveDialog方法显示对话框,必须为这些调用提供父组件int result = chooser.showOpenDialog(parent)或者 int result = chooser.showSaveDialog(parent);

 (8)调用getSelectedFile()或者 getSelectedFiles()方法获取用户选择的一个或多个文件,如果需要知道文件对象名时,可以调用getPath方法,如String filename = chooser.getSelectedFile().getPath();

5.设置文件过滤器

(1)设置文件过滤器只要实现FileFileter超类中的两个方法即可:

         *public boolean accept(File f);//检测是否应该接受一个文件

         *public String getDescription();//返回显示在文件选择器对话框中显示的文件类型的描述信息

(2)有了文件过滤器对象,就可以调用JFileChooser类中的setFileFileter方法,将这个对象安装到文件选择器对象中:chooser.setFileFilter(new FileNameExtensionFIlter("Image files","gif","jpg"));

 (3)可以为一个文件选择器安装多个过滤器:

          chooser.addChoosableFileFilter(filter1);

          若想放弃All files过滤器,需要调用chooser.setAcceptAllFileFilterUsed(false);

6.如果想让某种特定的文件夹显示不同的图标,需要安装自己的文件视图。需要扩展FileView并实现下面5个方法:

          *Icon getIcon(File f);

          *String getName(File f);

          *String getDescription(File f);

          *String getTypeDescription(File f);

          *Boolean isTraversable(File f);

 然后,调用setFileView方法将文件视图安装到文件过滤器中,文件选择器调用isTraversable方法来决定是否在用户点击一个目录的时候打开这个目录。该方法返回一个Boolean对象,而不是boolean值。

7.颜色选择器(JColorChooser)

 (1)用颜色选择器显示模式对话框:Color selectedColor = JColorChooser.showDialog(parent,title,initialColor);

 (2)也可以显示无模式颜色选择器对话框,需要提供:

          *一个父组件

          *对话框的标题

          *选择模式/无模式对话框的标志

          *颜色选择器

          *OK和Cancel按钮的监听器

原创粉丝点击