У меня есть одна проблема в fileChooser.
когда появляется окно fileChooser, я хочу показать .java в качестве имени по умолчанию в «Тип файла», а в списке я хочу показать * .java, * .class, All File соответственно.
Для этого я использую следующий код:
public class Main {
public static void main(String[] argv) throws ClassNotFoundException, InstantiationException, IllegalAccessException, UnsupportedLookAndFeelException {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
JFileChooser fileChooser = new JFileChooser(new File("."));
fileChooser.addChoosableFileFilter(new MyFilter());
fileChooser.addChoosableFileFilter(new MyFilter2());
fileChooser.setAcceptAllFileFilterUsed(true);
fileChooser.showOpenDialog(null);
System.out.println(fileChooser.getSelectedFile());
}
}
class MyFilter extends javax.swing.filechooser.FileFilter {
public boolean accept(File file) {
String filename = file.getName();
return filename.endsWith(".java");
}
public String getDescription() {
return "*.java";
}
}
class MyFilter2 extends javax.swing.filechooser.FileFilter {
public boolean accept(File file) {
String filename = file.getName();
return filename.endsWith(".class");
}
public String getDescription() {
return "*.class";
}
}
но в этом коде по умолчанию ничего нет в «Файле типа», и в списке он показывает * .java, * .class, All File соответственно. Но я хочу показать имя * .java в качестве имени по умолчанию в "Файл типа".
Когда я изменяю этот код и помещаю fileChooser.setAcceptAllFileFilterUsed (true); выше в fileChooser.addChoosableFileFilter (new MyFilter ()); , тогда все файлы показывают имя по умолчанию в "файле" типа ".
Если вы сохраняете текстовый файл в текстовом редакторе, то там Текстовые документы ( .txt) показываются по умолчанию и в списке Текстовые документы ( .txt) и все файлы там. .
Я хочу то же самое в моем приложении.
Я также прилагаю фотографию, которая дает четкую информацию о том, что я хочу:
Мое приложение работает так:
Но я хочу вот так: