Java JFIlechooser + каталог ресурсов - PullRequest
1 голос
/ 04 июля 2011

Могу ли я перенаправить JFileChooser's путь к моей папке ресурсов в моем приложении?

Ответы [ 5 ]

3 голосов
/ 04 июля 2011

Вы можете определить JFileChooser для запуска в указанном каталоге:

JFileChooser fileChooser = new JFileChooser(new File("your directory")) 
2 голосов
/ 04 июля 2011

Вы, вероятно, хотите:

// returns the current working directory as a String
System.getProperty("user.dir");

В сочетании с реализацией JFileChooser:

String workingdir = System.getProperty("user.dir");
JFileChooser fileChooser = new JFileChooser(new File(workingdir));

На всякий случай, если приведенное выше не всегда возвращает нужный каталог (я бы попробовал запуститьприложение из нескольких разных мест), здесь есть несколько альтернатив:

Получить путь к приложению

1 голос
/ 04 июля 2011

Вы можете сделать это так (как упоминал Джанн):

JFileChooser fileChooser = new JFileChooser(new File("your directory"));

или

JFileChooser fileChooser = new JFileChooser().setCurrentDirectory(new File("your directory"));
// or in 2 lines
JFileChooser fileChooser = new JFileChooser();
fileChooser.setCurrentDirectory(new File("your directory"));
0 голосов
/ 04 августа 2012

Используйте JFileChooser метод объекта setCurrentDirectory(File dir), установите директорию Файловый объект в параметре. Тогда вы делаете это.

0 голосов
/ 04 июля 2011

Я не совсем уверен, что полностью понимаю, чего вы пытаетесь достичь, но, возможно, вы могли бы обернуть FileSystemView и переопределить getParentDirectory(...), чтобы вернуть тот же каталог снова. Затем позвоните setFileSystemView(...) на JFileChooser. Тем не менее, обратите внимание, что есть платформо-зависимые подклассы FileSystemView, и вы должны быть очень осторожны с этим.

Редактировать: могут быть и другие способы, например, переопределение JFileChooser#setCurrentDirectory() или создание собственного пользовательского интерфейса, но я бы не рекомендовал использовать ни один из них, даже метод FileSystemView.

1012 *
*

Можно создать собственный диалог и просто отобразить файлы одного каталога. Это может быть проще и, по крайней мере, более легко обслуживаемо, поскольку реализация должна быть достаточно простой.

...