1

ディレクトリをダブルクリックすると、JFileChooserはそのディレクトリを開いていません。つまり、ディレクトリを参照していませんが、ディレクトリを選択して戻ります。ダブルクリックしたときにフォルダのコンテンツが表示されるようにJFileChooserを実装するにはどうすればよいですか?setFileSelectionMode(JFileChooser.FILES_ONLY)
が設定されている場合、動作は必要に応じて良好ですが、FILES_AND_DIRECTORIESを使用する必要があります。

4

1 に答える 1

2

あなたはあなた自身を追加することができますMouseListener

final JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
fileChooser.addMouseListener(new MouseListener() {

    @Override
    public void mouseClicked(MouseEvent arg0) {

        if(arg0.getClickCount() == 2) {
            File file = fileChooser.getSelectedFile();
            if(file.isDirectory()) {
                fileChooser.setCurrentDirectory(file);
                fileChooser.rescanCurrentDirectory();
            }
            else {
                fileChooser.approveSelection();
            }
        }
    }

    //Other methods (can be empty)  
});

これはダブルクリックをチェックし、JFileChooserそれがディレクトリであるかどうかのチェックから選択されたファイルを取得し、それがそれに続く場合はファイルである場合はファイルを返します。また、ディレクトリを選択して[開く]をクリックすると、ディレクトリが開きます。

于 2012-04-19T16:40:35.820 に答える