53

I want to make an "Open" and "Save" dialog in java. An example of what I want is in the images below:

Open:

Open file dialog

Save:

Save file dialog

How would I go about doing this?

1
  • 20
    The question is valid; don't downvote just because someone is not a native English speaker. Instead post a comment how to improve the question. Commented Aug 23, 2010 at 13:48

6 Answers 6

66

You want to use a JFileChooser object. It will open and be modal, and block in the thread that opened it until you choose a file.

Open:

 JFileChooser fileChooser = new JFileChooser(); if (fileChooser.showOpenDialog(modalToComponent) == JFileChooser.APPROVE_OPTION) { File file = fileChooser.getSelectedFile(); // load from file } 

Save:

 JFileChooser fileChooser = new JFileChooser(); if (fileChooser.showSaveDialog(modalToComponent) == JFileChooser.APPROVE_OPTION) { File file = fileChooser.getSelectedFile(); // save to file } 

There are more options you can set to set the file name extension filter, or the current directory. See the API for the javax.swing.JFileChooser for details. There is also a page for "How to Use File Choosers" on Oracle's site:

http://download.oracle.com/javase/tutorial/uiswing/components/filechooser.html

Sign up to request clarification or add additional context in comments.

2 Comments

Whatever component you want it to be modal to goes there.
@Arnold: Or just replace modalToComponent to null
38

I would suggest looking into javax.swing.JFileChooser

Here is a site with some examples in using as both 'Open' and 'Save'. http://www.java2s.com/Code/Java/Swing-JFC/DemonstrationofFiledialogboxes.htm

This will be much less work than implementing for yourself.

Comments

3

Maybe you could take a look at JFileChooser, which allow you to use native dialogs in one line of code.

Comments

2

You can find an introduction to file dialogs in the Java Tutorials. Java2s also has some example code.

Comments

2

First off, you'll want to go through Oracle's tutorial to learn how to do basic I/O in Java.

After that, you will want to look at the tutorial on how to use a file chooser.

Comments

0

You may also want to consider the possibility of using SWT (another Java GUI library). Pros and cons of each are listed at:

Java Desktop application: SWT vs. Swing

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.