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);
}
}
[開く]ダイアログに表示される内容は次のとおりです。 [ダイアログを開く]
[保存]ダイアログに表示される内容は次のとおりです。[保存] ダイアログ
グレー表示されているにもかかわらず、保存ダイアログのすべてのファイルを選択できます。
重要な場合は、Mac /MountainLionとJava7を使用しています。
これは予想される動作ですか?これを変更する方法はありますか?
(編集:以下のMadProgrammer + trashgodによるコメントによると、これは他の(ネイティブ)Macアプリのルック+フィールと一致しているようです)