Как определить, нажал ли пользователь кнопку отмены или выбрал корень (основной диск) с помощью java.awt.FileDialog в MAC OS? - PullRequest
2 голосов
/ 27 сентября 2011

Кто-нибудь знает, как определить, выбрал ли пользователь кнопку отмены или корневой диск в java.awt. FileDialog в Mac OS (10.6 - Snow Leopard) ????

У меня есть следующий код:

System.setProperty("apple.awt.fileDialogForDirectories", "true"); 
FileDialog fd = new FileDialog(this);  
fd.setDirectory(_projectsBaseDir.getPath());  
fd.setLocation(50,50); fd.setVisible(true);  
File selectedFile = new File(fd.getFile()); 
System.setProperty("apple.awt.fileDialogForDirectories", "false");

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

1 Ответ

0 голосов
/ 02 декабря 2011

Если возможно использовать Swing, я настоятельно рекомендую использовать JFileChooser.Тогда ваш код будет выглядеть так:

JFileChooser fc = new JFileChooser();
fc.setCurrentDirectory(_projectsBaseDir.getPath());
fc.setLocation(50,50);
int ret = fc.showOpenDialog(this); // Use .showSaveDialog(this) for save dialog
if(ret == JFileChooser.APPROVE_OPTION)
    File selectedFile = fc.getSelectedFile();

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...