Отключить переименование файла в JFileChooser? - PullRequest
5 голосов
/ 19 ноября 2011

Если дважды щелкнуть (а не дважды) файл в JFileChooser, вы можете переименовать выбранный файл.Как отключить эту функцию?Я пробовал с

UIManager.put("FileChooser.readOnly", Boolean.TRUE);

, но это не работает.

Ответы [ 3 ]

11 голосов
/ 19 ноября 2011

Удивительно, но вы не можете отключить переименование файлов / создание новых каталогов из самого JFileChooser.Как вы правильно поняли, вам нужно вместо этого отключить эту «функцию» FileChooser из UIManager.

Вот фрагмент кода, который может помочь:

http://www.coderanch.com/t/555535/GUI/java/FileChooser-readOnly

  Boolean old = UIManager.getBoolean("FileChooser.readOnly");  
  UIManager.put("FileChooser.readOnly", Boolean.TRUE);  
  JFileChooser fc = new JFileChooser(".");  
  UIManager.put("FileChooser.readOnly", old);  

Ключевым моментом является установка «FileChooser.readOnly» ПЕРЕД созданием средства выбора файлов.

2 голосов
/ 19 ноября 2011

Ручное решение по удалению MouseListener из JList, используемого для отображения имен файлов, см .: https://forums.oracle.com/forums/thread.jspa?messageID=9933325&#9933325

1 голос
/ 19 ноября 2011

Настройка внешнего вида JFileChooser имеет некоторые константы переименования

Ваша статика должна перейти в JFileChooser с использованием класса.

В качестве альтернативы можно сделать addMouseListener, чтобы броситьнажмите прочь.

...