0

ユーザーが .txt ファイルを開くことができるように JFileChooser を作成するボタンを作成しました。ボタンのアクション リスナー内のコードは次のとおりです。

JFileChooser fc = new JFileChooser();
    //filter-show only .txt files
    FileNameExtensionFilter txtfilter = new FileNameExtensionFilter("txt files (*.txt)", "txt");

    //apply the filter to file chooser
    fc.setFileFilter(txtfilter);
    fc.setDialogTitle("Otvori txt file");
    //disable the ability to show files of all extensions
    fc.setAcceptAllFileFilterUsed(false);
    //create file chooser via jFrame
    fc.showOpenDialog(jFrame);
    //get selected file
    File selFile = fc.getSelectedFile();
    Path path = Paths.get(selFile.toString());
    asdf = selFile.toString();
    //display chosen file on jLabel5
    jLabel5.setText(path.getFileName().toString());

ファイル チューザ内で .txt ファイルを選択すると問題なく動作しますが、ファイルを選択してからキャンセルを押して終了する場合にも動作します。getSelectedFile() が原因だと思いますが、ファイルを取得する条件として、ユーザーがファイルを選択し、ファイルチューザー内で開いていることを確認する方法があるかどうか疑問に思っていますか?

4

1 に答える 1

8

以下からの戻り値かどうかを確認する必要があります。

fc.showOpenDialog(jFrame) == JFileChooser.APPROVE_OPTION

その戻り値は、ユーザーがダイアログを終了した方法を示します。

ドキュメントを参照してください。JFileChooser.showOpenDialog(Component)

于 2012-12-08T16:34:31.800 に答える