JFileChooser.showSaveDialog:所有文件都显示为灰色

Yos*_*ark 6 java swing jfilechooser

我正在尝试使用它JFileChooser来获取文件以进行加载和保存.出现的对话框openFileDialog()工作正常,但是当我使用该saveFileDialog()方法时,对话框窗口的所有文件名都显示为灰色.这种情况发生在有或没有FileFilter(我的例子包括一个更好地展示我所看到的).

这是一个简单的程序来说明:

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);
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我在"打开"对话框中看到的内容: 打开对话框

这是我在"保存"对话框中看到的: 保存对话框

尽管显示为灰色,但保存对话框中的所有文件都是可选的.

如果重要的话,我会使用Mac/Mountain Lion和Java 7.

这是预期的行为吗?有没有办法改变这个?

(编辑:下面MadProgrammer + trashgod的评论,这似乎与其他(原生)Mac应用程序的外观+感觉一致)

tra*_*god 2

我正在寻找.txt在保存对话框中以“正常”颜色显示的文件。

这是由FileChooserUI特定于特定外观和感觉的委托控制的,例如AquaFileChooserUI在 Mac OS X 上。您可以使用不同的 L&F,(费力地)编写您自己的FileChooserUI,或开发自定义文件浏览器 GUI