Je travaille sur un projet, en Java, où l'utilisateur doit choisir un fichier à télécharger via un jfilechooser. Y a-t-il un moyen de rendre le champ de texte en lecture seule afin que vous puissiez seulement choisir les fichiers en cliquant dessus, et non en écrivant dans le champ de texte. J'espère que j'ai fait mon problème clair, Djava filechooser
Répondre
Je ne crois pas que ce soit directement possible - et à en juger par the API, je crois que ce n'est pas le cas. Vous pourriez probablement simuler en enregistrant un écouteur qui a effacé la zone de texte après chaque pression de touche. Cependant, êtes-vous sûr que vous voulez faire? Personnellement, je serais très contrarié si j'utilisais un sélecteur de fichier qui était paralysé de cette façon, surtout si j'avais copié un chemin de fichier vers le presse-papiers de quelque part et que je devais descendre manuellement à travers un tas de répertoires, entre autres .
Y a-t-il une raison particulière pour laquelle vous voulez paralyser l'interface utilisateur? Parce que je ne vois aucune raison légitime de le faire ...
bien, c'était juste un moyen facile de s'assurer que le fichier sélectionné était un fichier réel. Je suppose que je vais juste devoir vérifier si le fichier existe avant que je commence le téléchargement – ev00l
Ce n'est pas vraiment une tentative de réponse, mais je demanderais pourquoi vous voudriez que le champ de texte soit seulement lu. Vous limitez les utilisateurs et pour quel bénéfice exactement? Changer le comportement standard attendu du sélecteur de fichier n'est généralement pas une bonne approche, sauf si vous avez une très bonne raison de le faire.
Donc, désolé, pas vraiment une réponse, mais s'il vous plaît pensez à pourquoi vous voulez faire cela. En tant que préférence personnelle, j'aime pouvoir écrire dans le champ de texte. Cela me permet de coller, ce qui permet une navigation extrêmement rapide et simple d'un répertoire à l'autre.
Je peux voir pourquoi c'était une manière paralysante de s'assurer que le fichier existe. Merci pour l'aide – ev00l
Je pense que la seule façon de le faire serait en fournissant votre propre FileChooserUI
et en le réglant via setUI()
sur votre JFileChooser
. Ce n'est probablement pas beaucoup de travail à faire quand vous sous-classez une implémentation existante à partir des paquets javax.swing.plaf
, mais le problème est que vous contournez l'ensemble du mécanisme PLAF; changer le global L & F ne fonctionnerait alors pas pour votre sélecteur de fichier.
Si votre intention est de vous assurer que l'utilisateur a sélectionné un fichier plutôt qu'un répertoire (indiqué par vos réponses à d'autres réponses), vous pouvez utiliser FileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
. Toutefois, il s'agit du paramètre par défaut lorsque vous instanciez le sélecteur de fichier. Par conséquent, à moins que votre code ne change à un moment donné, vous n'avez pas besoin de le définir explicitement.
Pour votre plus grand plaisir: http://java.sun.com/docs/books/tutorial/uiswing/components/filechooser.html
Si vous voulez vous assurer que le nom de fichier saisi est valide avant de fermer le fichier chooser alors vous devriez être en mesure de faire quelque chose comme ceci:
JFileChooser chooser = new JFileChooser(...)
{
public void approveSelection()
{
if (getSelectedFile().exists())
super.approveSelection();
else
JOptionPane.showMessageDialog(this, "Selected file does not exist");
}
};
Merci beaucoup, je vais essayer cela! – ev00l
- 1. FileChooser dans Microsoft Surface
- 2. Importer un fichier en utilisant le Java FileChooser
- 3. Java: empêcher NPE dans MetalFileChooserUI $ IndentIcon.getIconWidth?
- 4. Java, Java VM, Java Platform,
- 5. Hash java dans java
- 6. java haricots dans java
- 7. (java)
- 8. Java java stack sur Windows
- 9. Application Java vs applet Java
- 10. Problème d'exécution de java JAVA
- 11. Java AOT + chargement dynamique des classes java
- 12. Comment compiler un fichier .java en Java?
- 13. Exécution du code Java de l'intérieur Java
- 14. Ouverture d'un fichier externe, Java avec Java
- 15. Cocoa équivalente aux classes Java de Java
- 16. Java Type Mapping pour Java Native Access
- 17. java fusionne deux chaînes xml en java
- 18. applet Java Accès d'une autre applet Java
- 19. De Java GUI à Java Web
- 20. Fichier java de ligne de commande Java
- 21. Communication Java ME et Java EE
- 22. Mise en page java des images java
- 23. . Compatibilité de sérialisation/désérialisation Java vers Java
- 24. Java Arborescence présente dans Java Tableau
- 25. Java API Java pour le modem
- 26. Requêtes java SQLite java et guillemets simples
- 27. Java Web Start vs Embedded Java Applet
- 28. Java PropertySheets
- 29. Java: PropertyResourceBundle
- 30. Java RandomAccessFile
sur pure curiosité, est le fichier nommé "example.buab"? –