Skip to main content

Programming in Java Netbeans - A Step by Step Tutorial for Beginners: Lesson 44

Danson Wachira is a certified Trainer in Computer Science, Information Technology and related studies.

Table of Contents

<< Lesson 43 | Lesson 45 >>

Lesson 44: How to Customize Java Open File dialog box

In the previous lesson, we discussed how to implement the Open File dialog box in Java NetBeans through File Chooser class. This lesson is a follow up of the previous lesson so if you have not yet done Lesson 43, I suggest you do so before taking this lesson.

When working with Java Open File dialog box or any other type of Open File dialog box, you may need to limit the types of files to be opened. For example, you may want the dialog box to display images or document files only depending on where you want the file to be applied.

programming-in-java-netbeans-a-step-by-step-tutorial-for-beginners-lesson-44

File limitation on the Open File dialog box in Java can be implemented by customizing the Open File dialog box itself. We can create a file filter to be applied when the user clicks on Files of Type dropdown list on the Open File dialog box.

The Open File dialog box we created in Lesson 43 opens All Files. What we want to do is to specify what types of files users can open and we do this by specifying each file extension, for instance .doc, .txt, .xsl etc. The image below shows the Open File dialog box before applying files filter.

Open File dialog box in Java NetBeans

programming-in-java-netbeans-a-step-by-step-tutorial-for-beginners-lesson-44

If you need to limit the types of files to be opened by the File Chooser, you can set up file name extension filter by creating a FileFilter object as shown:

FileFilter ft = new FileNameExtensionFilter("Text Files", "txt"); IIType as one line

As you can see from the above code, we have set up the object to open files of type text i.e. files with extension .txt. Once you have set up the object, you can use the addChoosableFileFilter method of your dialogue box to choose only those files using the code shown below:

fc.addChoosableFileFilter( ft );

For the file name extension filter to work, we need to import the FileFilter class and method using the following import code. These two should be place at the top of your code.

import javax.swing.filechooser.FileFilter; IIType as one line

Scroll to Continue

import javax.swing.filechooser.FileNameExtensionFilter;

Your code at the top of class and inside the code stub for Open menu option should now look as shown below.

This code to be placed at the top of class

import javax.swing.JOptionPane;
import javax.swing.filechooser.FileFilter;
import javax.swing.filechooser.FileNameExtensionFilter;

This code to be placed inside the code stub for Open menu option

private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
FileFilter ft = new FileNameExtensionFilter("Text Files", "txt");
fc.addChoosableFileFilter(ft);

int returnVal = fc.showOpenDialog(this);
if (returnVal == javax.swing.JFileChooser.APPROVE_OPTION) {
    java.io.File file = fc.getSelectedFile( );
    String file_name = file.toString( );
    JOptionPane.showMessageDialog(this, file_name);
}
}

Run the form again on File >> Open and this time the File Chooser should display “File of Type” All Files and Text Files.

programming-in-java-netbeans-a-step-by-step-tutorial-for-beginners-lesson-44

If you need to include more files type, you will need to create file name extension filter for each of the file extension. For instance, if you want to open files with .txt, .doc, .ppt, .jpeg and .xsl extensions, you can create the five file name extension filters as shown below.

Java file name extension filters

private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
FileFilter ft = new FileNameExtensionFilter("Text Files   .txt", "txt");
fc.addChoosableFileFilter(ft);

FileFilter ft2 = new FileNameExtensionFilter("Word Documents   .doc", "doc");
fc.addChoosableFileFilter(ft2);

FileFilter ft3 = new FileNameExtensionFilter("PowerPoint   .ppt", "ppt");
fc.addChoosableFileFilter(ft3);

FileFilter ft4 = new FileNameExtensionFilter("JPEG Images   .jpeg", "jpeg");
fc.addChoosableFileFilter(ft4);

FileFilter ft5 = new FileNameExtensionFilter("Excel Worksheets   .xsl", "xsl");
fc.addChoosableFileFilter(ft5);

int returnVal = fc.showOpenDialog(this);
if (returnVal == javax.swing.JFileChooser.APPROVE_OPTION) {
    java.io.File file = fc.getSelectedFile( );
    String file_name = file.toString( );
    JOptionPane.showMessageDialog(this, file_name);
}
}
programming-in-java-netbeans-a-step-by-step-tutorial-for-beginners-lesson-44

Up to this point, we can create the File Chooser, display user selected files and customize the File Chooser using file name extension filter. We can go further and use the File Chooser to actually open and display a file but we’ll need more codes. In the next lesson, we shall learn how to open a particular file using Java Open File dialog box.

<< Lesson 43 | Lesson 45 >>

Want to make money online?

Comments

Danson Wachira (author) from Nairobi, Kenya on March 29, 2013:

Hi Rajib,

I am glad to hear this Java tutorial was helpful. Sure, other Java lessons are on the way. Thanks for the visit and comment. Happy Easter too!

Rajib on March 29, 2013:

It is a well explained Java tutorial, i followed all the way to the end and i must say it was very useful and helpful. Are there more lessons to come? I will be checking. Thank you dwachira and Happy Easter!!

Related Articles