0

ユーザーが JFileChooser ウィンドウから複数のファイルを選択して処理できるようにするアプリケーションがあります。先週このアプリケーションを実行したとき、JFileChooser を使用すると、ユーザーは通常どおり (ctrl キーまたはアップル キーを押しながらファイルを選択)、複数のファイルを選択できました。しかし、今日同じアプリケーションを再実行しようとしていますが、以前と同じように JFileChooser で複数のファイルを選択することはできません。multiselectionenabled(true) ステートメントがあり、FileChooser は以前に機能していたので、何が起こったのかよくわかりません。コードは次のとおりです。

    JFileChooser fc = new JFileChooser();
    System.out.println("Choose the files you would like to process.");
    fc.setMultiSelectionEnabled(true);
    fc.showOpenDialog(null);
    if(fc.getApproveButtonMnemonic()==JFileChooser.APPROVE_OPTION){
        files = fc.getSelectedFiles();
        assert(files.length!=0);
    }else{
        System.out.println("You've opted to cancel. System will now exit.");
    }

    for(int i=0; i<files.length; i++){
            System.out.println("Inside for loop.");
            System.out.println("Chosen File: "+files[i].getAbsolutePath());
    }
  return files;  
}

それは非常に単純で、以前は常に機能していたので、今日機能していない理由がわかりません。誰かがこれを修正するのを手伝ってくれませんか? このステップは、私のプログラムでは非常に重要です。

4

1 に答える 1

1

このブロックで:

fc.showOpenDialog(null);
if(fc.getApproveButtonMnemonic()==JFileChooser.APPROVE_OPTION){
    files = fc.getSelectedFiles();
    assert(files.length!=0);
}

null承認ボタンのニーモニック ( の可能性があります) と整数定数 ( ) を比較していますJFileChooser.APPROVE_OPTION。そのはず:

//fc.showOpenDialog(null);
if(fc.showOpenDialog(null)==JFileChooser.APPROVE_OPTION){
    files = fc.getSelectedFiles();
    assert(files.length!=0);
}
于 2013-08-12T14:48:34.187 に答える