Основная причина в том, что пользовательский интерфейс не использует имя представления в качестве текста в поле имени. Который может или может быть хорошей идеей, не знаю. Если вы действительно этого хотите, вы можете сделать это вручную, либо в подклассе JFileChooser, либо в PropertyChangeListener, вот переопределение:
fc = new JFileChooser() {
@Override
public void setSelectedFile(File file) {
super.setSelectedFile(file);
((BasicFileChooserUI) getUI()).setFileName(getName(file));
}
};
fc.setFileView(new MyView());
Редактировать
outch ... не ожидал такого неправильного поведения пользовательского интерфейса :-( Проблема в том, что все действия воссоздают файловый объект на основе содержимого textField (вместо использования свойства selectedFile объекта chooser) Теперь, если эта строка имеет обрезанное расширение, файл не найден. Единственный выход - заменить действия ... которые могут не работать.
Таким образом, этот ответ бесполезен, извините.