web-dev-qa-db-ja.com

FileDialogの使用方法

インターフェースを作成しましたが、ユーザーがファイルを開くことができる機能を追加したいと思います。私はAWTを使用しています。 FileDialogの使い方がわかりません。これを説明する例または良いリンクを教えていただけますか?

20
grb

ファイルフィルタリングを使用した完全なコード例:

FileDialog fd = new FileDialog(yourJFrame, "Choose a file", FileDialog.LOAD);
fd.setDirectory("C:\\");
fd.setFile("*.xml");
fd.setVisible(true);
String filename = fd.getFile();
if (filename == null)
  System.out.println("You cancelled the choice");
else
  System.out.println("You chose " + filename);
32
Salvatorelab

@TheBronxによる回答に追加するには-私にとって、fd.setFile("*.txt");はOS Xでは動作しません。これは動作します:

fd.setFilenameFilter(new FilenameFilter() {
    @Override
    public boolean accept(File dir, String name) {
        return name.endsWith(".txt");
    }
});

または空想としてJava 8ラムダ:

fd.setFilenameFilter((dir, name) -> name.endsWith(".txt"));
9
Neal Ehardt

いくつかのコードサンプル here を使用して、さまざまな異なるタスクでそれを使用する方法を示します。

とはいえ、一歩戻って、awtがここでの仕事に最適なタスクかどうかを確認することもできます。もちろん、swing/swtのようなものの上でそれを使用する正当な理由がありますが、Swingから始めたばかりの場合は、IMOがより良い選択です(より多くのコンポーネント、より多くのチュートリアルがあり、より広くリクエストされたライブラリで動作します)最近。)

3
Michael Berry