1. Set look and feel to GTKLookAndFeel
2. Update JFileChooser component with SwingUtilities.updateComponentTreeUI.
Result: Filter changed to a default toString() output
Expected: Look and feel changed, filter text remains the same
Reproducible: always
Also reproducible if look and feel is changed when JFileChooser is already shown.
How to reproduce (same file attached):
import java.io.File;
import javax.swing.JFileChooser;
import javax.swing.SwingUtilities;
import javax.swing.filechooser.FileFilter;
/**
*
* @author lans
*/
public class FilterTest {
public static void main(String... args) throws Exception {
JFileChooser chooser = new JFileChooser();
chooser.setAcceptAllFileFilterUsed(false);
chooser.addChoosableFileFilter(new FileFilter() {
@Override
public boolean accept(File f) {
return true;
}
@Override
public String getDescription() {
return "Whatever";
}
});
javax.swing.UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel");
SwingUtilities.updateComponentTreeUI(chooser);
chooser.showOpenDialog(null);
}
}