2009-12-12 57 views

回答

1

您可以将PropertyListener添加到文件选择器,并且如果您收到“directoryChanged”属性,请再次设置默认文件。

例如:

JFileChooser chooser = new JFileChooser(); 
    chooser.addPropertyChangeListener(new PropertyChangeListener() { 
     public void propertyChange(PropertyChangeEvent evt) 
     { 
     if (evt.getPropertyName().equals("directoryChanged")) 
     { 
      JFileChooser me = (JFileChooser)evt.getSource(); 
      me.setSelectedFile(new File("text.txt")); 
     } 
     } 
    }); 

看起来这可能会做你想要什么,而是多了妥善的解决方案一种解决方法。

+0

这似乎不适用于Windows 7. 当我执行该代码时,虽然相应的PropertyChangeEvent(JFileChooser.SELECTED_FILE_CHANGED_PROPERTY)被触发,但文件名字段不会更新为提供的文件名。 – abahgat 2009-12-13 13:50:49

+0

我以默认的外观和感觉使用Vista。你在用什么L&F? – Ash 2009-12-13 21:22:45

+0

嘿abahgat,我在Vista上试过了System和Nimbus L&F,它工作正常,所以是的 - 很可能是你提出的win7而不是L&F的东西。我将在周四访问Windows 7盒子以试用它,但如果您在此之前解决了问题,请发表评论或其他内容。 – Ash 2009-12-15 09:50:18

相关问题