2011-07-28 14 views
1

私のプログラムではJFileChooserを使用しています。ユーザーは、JFileChooserを使用して複数のファイルを選択できます。ユーザーが1つのファイルのみを選択した場合、ファイルオブジェクトのみが返され、fileChooser.getSelectedFile()を使用して取り出すことができます。ユーザーが複数のファイルを選択した場合、ファイル[]が返され、fileChooser.getSelectedFiles()を使用して取得できます。JFileChooserを使用してユーザーが選択したファイルの数を取得する

私はtry/catchブロックを使用して、上記のメソッドを使用して返されるすべての型を取得しています。あたかもこれが悪いやり方であるかのように感じます。

返されるオブジェクトのタイプを確認する方法はありますか(たとえば、配列を受け取るべきかどうかなど)?私はそうするAPIのメソッドを見つけることができないようです。

+0

(かなりあなたの説明を理解していないものは何でも問題 - しかし@woliveirajrが答えを持っていると思います: - )try/catchブロックは解決策ではありません – kleopatra

答えて

4

複数のファイルを選択できるようにする場合は、get.SelectedFiles()を呼び出し、回答として配列を受け取る必要があります。

これは配列なので、いくつのファイルが選択されたか(1つ、2つなど)を確認するためにコンポーネントの数を見ることができます。

そして、1つのファイルしか受信していないことがわかったら、必要なように行動してください。

1

あなたはファイルの確認のみ、特定の種類を作成したい場合に選択することができますが、ファイルフィルタを設定する必要があり

JFileChooser fc = new JFileChooser(); 
    fc.setFileFilter(new FileFilter() 
    { 
     public boolean accept(File file) 
     { 
     return file.isDirectory() || 
       file.getName().endsWith(".abc"); 
     } 
     public String getDescription() 
     { 
     return "Your files *.abc files"; 
     } 
    }); 
+0

彼はまた返されるファイルのタイプについて言及しています。 – Leon

関連する問題