Java Как запретить пользователю редактировать имя файла в FileChooser OpenFileDialog

Мне нужен Open Dialog File Chooser, который открывает файлы только для чтения. Я хочу, чтобы пользователь мог только щелкнуть имя файла, чтобы выбрать его, без возможности редактирования имени. Однако пользователи должны иметь возможность просматривать другие папки.

Я использую Ubuntu 10.11 с последней версией Java (по состоянию на январь).

TIA.


person Nate Lockwood    schedule 12.04.2012    source источник


Ответы (1)


Этот пример показывает, что редактируемые имена файлов являются функцией _ 1_. Например, у com.apple.laf.AquaFileChooserUI нет такой возможности. руководство не предлагает никаких способов его изменения. , но этот FileBrowser может предложить индивидуальную альтернативу.

person trashgod    schedule 13.04.2012
comment
Я вижу, что могу добавить прослушиватель действий и могу проверить, существует ли файл. Если его не существует, можно ли предотвратить возврат средства выбора файла? - person Nate Lockwood; 13.04.2012
comment
После того, как прослушиватель действия обнаруживает, что файл не существует, добавление theFileChooser.cancelSelection (); заставляет его выйти, как если бы пользователь отменил. Я бы предпочел, чтобы средство выбора файлов оставалось открытым и давало пользователю еще один шанс, но ... - person Nate Lockwood; 13.04.2012
comment
Я не уверен, что понимаю, что вы делаете. Если вы отредактируете свой вопрос, включив в него sscce, я посмотрю. - person trashgod; 13.04.2012
comment
Я хочу, чтобы пользователь не нажимал «Открыть», если редактируемое текстовое поле «Имя файла» было отредактировано, поскольку я не могу предотвратить редактирование. Я не думаю, что это легко можно сделать. Я могу перехватить щелчок Open и проверить, существует ли файл (также имеет правильные разрешения), и принудительно отменить, если нет; так вот что я сделаю. Спасибо за вашу помощь. - person Nate Lockwood; 16.04.2012
comment
Звучит разумно; не стесняйтесь обновлять вопрос или предлагать альтернативный ответ в будущем. - person trashgod; 17.04.2012