根本原因是ui不在name字段中使用视图的名称作为文本。不知道这可能是一个好主意。如果确实需要,可以在JFileChooser的子类或Propertychangelistener中手动进行操作,这里有一个替代:
fc = new JFileChooser() {
@Override
public void setSelectedFile(File file) {
super.setSelectedFile(file);
((BasicFileChooserUI) getUI()).setFileName(getName(file));
}
};
fc.setFileView(new MyView());
outch …没想到ui会有如此多的错误行为:-(问题是,所有操作都基于textField的内容重新创建了一个文件对象(而不是使用选择器的selectedFile属性)如果该字符串的扩展名被修剪,则找不到该文件,唯一的解决方法是替换操作…这可能不起作用。
总之,这个答案是没有用的,对不起。