1
已经有一些关于如何为JFileChooser控件设置default file name的问题。JFileChooser.showSaveDialog(...) - 在更改目录后保留建议的文件名称
我在上遇到一些问题,当切换目录时保留默认文件名。 现在,当我这样做时,我提供的原始文件名会被新目录本身的路径覆盖。
有什么可以做的,以避免这种行为?
已经有一些关于如何为JFileChooser控件设置default file name的问题。JFileChooser.showSaveDialog(...) - 在更改目录后保留建议的文件名称
我在上遇到一些问题,当切换目录时保留默认文件名。 现在,当我这样做时,我提供的原始文件名会被新目录本身的路径覆盖。
有什么可以做的,以避免这种行为?
您可以将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"));
}
}
});
看起来这可能会做你想要什么,而是多了妥善的解决方案一种解决方法。
这似乎不适用于Windows 7. 当我执行该代码时,虽然相应的PropertyChangeEvent(JFileChooser.SELECTED_FILE_CHANGED_PROPERTY)被触发,但文件名字段不会更新为提供的文件名。 – abahgat 2009-12-13 13:50:49
我以默认的外观和感觉使用Vista。你在用什么L&F? – Ash 2009-12-13 21:22:45
嘿abahgat,我在Vista上试过了System和Nimbus L&F,它工作正常,所以是的 - 很可能是你提出的win7而不是L&F的东西。我将在周四访问Windows 7盒子以试用它,但如果您在此之前解决了问题,请发表评论或其他内容。 – Ash 2009-12-15 09:50:18