我試圖使用JFileChooser
來獲取加載和保存文件。 openFileDialog()
出現的對話框工作正常,但是當我使用saveFileDialog()
方法時,對話框窗口中的所有文件名都變爲灰色。這發生在有或沒有FileFilter
(我的例子包括一個更好地顯示我所看到的)。JFileChooser.showSaveDialog:所有文件灰顯
這裏有一個最小的方案來說明:
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.filechooser.FileNameExtensionFilter;
public class Temp extends JFrame {
public static void main(String[] args){
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JFileChooser chooser = new JFileChooser();
FileNameExtensionFilter filter = new FileNameExtensionFilter("Text File", "txt");
chooser.setFileFilter(filter);
frame.setVisible(true);
chooser.showOpenDialog(null);
chooser.showSaveDialog(null);
}
}
下面是我在打開對話框中看到: Open Dialog
下面是我在保存對話框中看到: Save Dialog
儘管灰顯,保存對話框中的所有文件都是可選的。
我在Mac/Mountain Lion和Java 7中。
這是預期的行爲?有沒有辦法改變這個?
(編輯:每通過MadProgrammer +以下trashgod評論,這似乎是與外觀+感覺其他(本地)Mac應用程序的一致性)
簡短的回答,是的,這是預期的行爲。與Windows不同,Windows只是將文件從可見列表中排除,出於某種奇怪的原因,Mac OS外觀和感覺決定文件應灰顯(當您無法選擇它們時) – MadProgrammer 2013-02-22 03:12:22
但根據過濾器,。txt文件應該是可見的+可選的(看看它們在Open Dialog中的樣子:黑色(而不是灰色)字體 – YosemiteMark 2013-02-22 03:16:29
@MadProgrammer是正確的你可以選擇一個灰色的名字, Save as' name。 – trashgod 2013-02-22 03:29:29