IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

combobox "rechercher dans" d'un JFileChooser


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 43
    Par défaut combobox "rechercher dans" d'un JFileChooser
    Bonjour à tous,

    Je voudrais pour pourvoir récupérer tous les éléments qui ce trouvent dans la combobox "rechercher dans" d'un JFileChooser !
    Je voudrais que cette liste soit complète, c'est à dire pas seulement les drives, mais aussi Poste de travail, favori réseaux, documents partagés, etc, bref la liste exaustive de ce qui apparait dans la combobox, soit a partir de la combobox elle-même, soit avec une autre méthode. Il faudrait aussi que cette solution soit portable.

    Quelqu'un saurait-il comment faire, ou pour le moins aurait-il une piste de réflexion ?

  2. #2
    Membre Expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Par défaut
    Hello,

    Regarde du côté de FileSystemView. Tu as la méthode getRoots() etc...

    ++

  3. #3
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 43
    Par défaut
    Salut,

    Chez moi (java 6.0, win Xp, JVM 6) cette méthode ne me renvoie que le bureau.

    Avec File.listRoots(), cela te retourne les drives (physique et logique).

    Mais je n'ai pas accès au Favori Réseaux, Poste de travail, Documents partagés, etc...

    Voila du code pour obtenir la JComboBox du JFileChooser, mais je ne sais pas trop ce que ça vaut ; le code est portable, robuste et au pire cela retourne un null.
    Cela consiste a passer en revue tous les composants jusqu'a ce qu'il trouve un JComboBox contenant des objets File.

    Je le donne pour ceux que cela interresserait mais je considère pas cela comme une solution satisfaisante. Je ne tag donc pas ce POST comme résolu.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    	/**
             * @return la JComboBox des drives ou null.
             */
    	private JComboBox getComboBoxDrives() {
    		/* renverra le 1er JComboBox trouvé contenant des fichiers */
    		Component comp[] = this.getComponents(); // this = votre JFileChooser
     
    		for (Component container: comp) { // passer en revue tous les composant du JFileChooser
    			if (container instanceof JPanel) { // ne prendre en compte que les JPanel
    				JPanel panel = (JPanel)container;
    				Component sousComp[] = panel.getComponents(); 
     
    				for (Component c: sousComp) { // passer en revue tous les composant du JPanel
    					if (c instanceof JComboBox) { // ne prendre en compte que les JComboBox
    						JComboBox combo = (JComboBox)c;
    						Object obj = combo.getItemAt(0);
    						if (obj instanceof File) { // si les objets de la combo sont des fichiers
    							return combo;
    						} // sinon on continue a chercher
    					}
    				}
    			}
    		}
    		return null;
    	}

Discussions similaires

  1. Afficher quote/guillemet dans un input
    Par EggY14 dans le forum Langage
    Réponses: 8
    Dernier message: 15/09/2006, 12h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo