Re: Adding FileFilters to JFileChooser
Jason Cavett wrote:
the proper filter (like Mark suggested), it's just added to the bottom
of the list. So, I get something like this in my filters list:
File Filter 1
File Filter 2
File Filter 3
File Filter 1 <- SELECTED
It really doesn't make sense.
I can't tell what you are doing with out an SSCCE, but that's not what I
get. This code does what you described you wanted in your OP. I did
notice that none of these methods are marked as thread-safe when I wrote
out this example, so I called them from the EDT. Perhaps that could be
the issue?
package fubar;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileNameExtensionFilter;
public class JOpenFilter
{
public static void main( String... args )
{
javax.swing.SwingUtilities.invokeLater( new Runnable() {
@Override
public void run()
{
createAndShowGui();
}
} );
}
private static void createAndShowGui() {
//Create a file chooser
final JFileChooser fc = new JFileChooser();
FileNameExtensionFilter f;
fc.addChoosableFileFilter( f = new FileNameExtensionFilter(
"Fu 1", "ff1", "ffx" ) );
fc.addChoosableFileFilter( new FileNameExtensionFilter(
"Fu 2", "ff2" ) );
fc.addChoosableFileFilter( new FileNameExtensionFilter(
"Fu 3", "ff3" ) );
fc.setFileFilter( f );
int returnVal = fc.showOpenDialog( null );
System.out.println( "returned value = " + returnVal );
}
}