si in effetti a pensarci hai ragione.
però mi sono attenuto anche agli esempi presenti nei tutorial!

oppure, altri esempi trovati sono qualcosa del genere:
codice:
public class ChooseDir {

    public static String choose(JFrame frame) throws FileNotFoundException {
        JFileChooser fc = null;
        File dir = null;
        if (fc == null) {
            fc = new JFileChooser();
            fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
            int stato = fc.showOpenDialog(frame);
            if (stato == JFileChooser.APPROVE_OPTION) {
                dir = fc.getSelectedFile();
            }
        }
        return dir.toString();
    }
}
in sostanza passare al JFileChooser il componente da cui è richiamato.