2017-02-16 3 views
0

В настоящее время я пытаюсь использовать JFileChooser для возврата пути к файлу или каталогу в виде строки. Тем не менее, я обнаружил, что я не могу выбрать папку в качестве моего выбора, пока я не выберу файл первым. Хотя это не является серьезной проблемой, это, безусловно, разочаровывает.Невозможно выбрать папки в качестве каталогов с помощью JFileChooser

Gfycat того, что происходит: https://gfycat.com/DeadlyDeliriousAzurevase

Код:

public static String openFileChooser() 
{ 
    int returnValue = fileChoose.showOpenDialog(null); 
    if(returnValue == JFileChooser.APPROVE_OPTION) 
    { 
     fileChoose.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); 
     return (fileChoose.getSelectedFile().getAbsoluteFile().toString()); 
    } 
    else 
    { 
     return "null"; 
    } 

} 

Помощь будет абсолютно оценили, спасибо!

ответ

1

Вы устанавливаете режим выбора файла после, вы показали диалог, и пользователь нажал кнопку. Это не будет иметь никакого эффекта в этот момент. Вы должны установить его до, вы увидите диалог выбора файла.

Линия вам нужно двигаться, чтобы быть первой линии в методе является:

fileChoose.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); 
+0

Это имеет такое значение. В настоящее время я крепко прикладываю свое лицо к столу. Спасибо вам за помощь! – MrSoupman

0

Вы должны изменить свой код

JFileChooser fileChooser = new JFileChooser(); 
fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); 
int returnValue = fileChooser.showOpenDialog(null); 
if (returnValue == JFileChooser.APPROVE_OPTION) { 
    System.out.println(fileChooser.getSelectedFile().getAbsoluteFile().toString()); 
} else { 
    System.out.println("Empty"); 
} 

убедитесь, что вызвать
fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
перед тем вы открываете свой диалог