JFileChooser validating file

Using a JFileChooser with, eg,  *.txt, only in the files of type dropdown. the suier can then type *.ini in the File name text box and then open any ini file. See code sample below.

How can I only allow a certain file (*.txt in this example) to be opened, ie. this dialog not close unless a .txt file selected or the dialog is cancelled?

Thanks, Tom.
JFileChooser fileChooser = new JFileChooser(); 
			int returnValue = JFileChooser.CANCEL_OPTION;
			fileChooser.setDialogTitle("Open");
			fileChooser.setAcceptAllFileFilterUsed(false);
			fileChooser.setFileFilter(new FileFilter() {
				public boolean accept(File file) {
					String fileName = file.getName().toUpperCase();
					if (fileName.endsWith("*.txt")) {
						return true;
					}
					return false;
				}
	
				public String getDescription() {
					return "Text file (*.txt)";
				}
			});
				
			returnValue = fileChooser.showOpenDialog(parent);

Open in new window

boardtcAsked:
Who is Participating?
 
sciuriwareConnect With a Mentor Commented:
Then you have to open the source and write your own sub-version.
The source can be found as src.zip in the JDK distibution.

;JOOP!
0
 
objectsCommented:
you could check the file returned and re-pop it up if not correct type.
0
 
boardtcAuthor Commented:
of course one can do that. I am looking for a solution where the file selected can be validated prior to the file chooser being closed...
0
 
boardtcAuthor Commented:
Ok. I am used to the Delphi community where lots of source is freely available, I have been surprised with my experiences in java so far that though free everyone keeps reinventing the wheel rather than using well oiled code...but maybe I have not been given the keys to the community yet, certainly delphi's is not exclusive....anyway....for such an obvious problem i'm amazed there is not a ready made solution....
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.