3

txtファイルを入力として受け取るメソッドがあります。以前は、ファイルへの直接パスを入力して文字列を使用していました。しかし、入力に別のファイルを使用しようとするたびに面倒になりました。私は実装しようとしますJFileChooserが、運がありません。

これはコードですが、何も起こりません。

public static JFileChooser choose;
File directory = new File("B:\\");
choose = new JFileChooser(directory);
choose.setVisible(true);        
File openFile = choose.getSelectedFile();

FileReader fR = new FileReader(openFile);
BufferedReader br = new BufferedReader(fR);
4

4 に答える 4

6

ファイル チューザーの使用方法に関する Java チュートリアルによると、次のようになります。

標準のオープン ダイアログを表示するには、次の 2 行のコードのみが必要です。

//Create a file chooser
final JFileChooser fc = new JFileChooser();
...
//In response to a button click:
int returnVal = fc.showOpenDialog(aComponent);

showOpenDialog メソッドへの引数は、ダイアログの親コンポーネントを指定します。親コンポーネントは、ダイアログの位置とダイアログが依存するフレームに影響します。

ドキュメントに従って、次のこともできることに注意してください。

int returnVal = fc.showOpenDialog(null);

親が null の場合、ダイアログは表示されているウィンドウに依存せず、画面の中央など、ルック アンド フィールに依存する位置に配置されます。

まだ読んでいない場合は、Swing での同時実行  も読んでください。

于 2013-02-01T05:13:49.177 に答える
2

ブロッキング コードはありません (David Kroukamp が示唆するように)。「表示されない」問題を解決します。

Runnable r = new Runnable() {

@Override
public void run() {
    JFileChooser jfc = new JFileChooser();
    jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
    if( jfc.showOpenDialog(null) == JFileChooser.APPROVE_OPTION ){
        selected = jfc.getSelectedFile();
    }
}
}
SwingUtilities.invokeLater(r);
于 2014-09-23T14:43:01.860 に答える