Swing/FileChooserMultiSelection の変更点
- 追加された行はこの色です。
- 削除された行はこの色です。
- Swing/FileChooserMultiSelection へ行く。
- Swing/FileChooserMultiSelection の差分を削除
--- category: swing folder: FileChooserMultiSelection title: JFileChooserで複数ファイルの選択を行う tags: [JFileChooser] author: aterai pubdate: 2017-04-17T14:42:10+09:00 description: JFileChooserで複数ファイルの選択ができるように設定します。 image: https://drive.google.com/uc?id=1-cun-rfsw3qiGmb6K8Fp5hlrAArduvrQHw --- * 概要 [#summary] `JFileChooser`で複数ファイルの選択ができるように設定します。 #download(https://drive.google.com/uc?id=1-cun-rfsw3qiGmb6K8Fp5hlrAArduvrQHw) * サンプルコード [#sourcecode] #code(link){{ JFileChooser fileChooser = new JFileChooser(); // fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY); // fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); // fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); fileChooser.setMultiSelectionEnabled(true); int retvalue = fileChooser.showOpenDialog(getRootPane()); if (retvalue == JFileChooser.APPROVE_OPTION) { log.setText(""); for (File file: fileChooser.getSelectedFiles()) { log.append(file.getAbsolutePath() + "\n"); } } }} * 解説 [#explanation] - `Default` -- `JFileChooser`のデフォルトは複数ファイル選択不可 - `setMultiSelectionEnabled(true)` -- [https://docs.oracle.com/javase/jp/8/docs/api/javax/swing/JFileChooser.html#setMultiSelectionEnabled-boolean- JFileChooser#setMultiSelectionEnabled(boolean)]メソッドを使用して複数ファイル選択を可能に設定 -- 複数選択したファイルは[https://docs.oracle.com/javase/jp/8/docs/api/javax/swing/JFileChooser.html#getSelectedFiles-- JFileChooser#getSelectedFiles()]で取得可能 --- 未選択の場合は`null`ではなく空のファイル配列(`new File[0]`)が返り値になるが、開くボタンをクリックしても`JFileChooser`は閉じない -- デフォルトの`FileSelectionMode`は`JFileChooser.FILES_ONLY`なので、KBD{Ctrl+A}でファイルのみが選択される -- デフォルトの`FileSelectionMode`は`JFileChooser.FILES_ONLY`なのでKBD{Ctrl+A}でファイルのみが選択される --- `JFileChooser.FILES_ONLY`でもファイルが未選択の場合はKBD{Ctrl}+マウスクリックでディレクトリが複数選択できてしまう? * 参考リンク [#reference] - [https://docs.oracle.com/javase/jp/8/docs/api/javax/swing/JFileChooser.html#setMultiSelectionEnabled-boolean- JFileChooser#setMultiSelectionEnabled(boolean) (Java Platform SE 8)] * コメント [#comment] #comment #comment