Nom du fichier obtenu avec FileDialog

el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 - 29 déc. 2005 à 13:29
gmi19oj19 Messages postés 545 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 28 septembre 2011 - 29 déc. 2005 à 13:56
Slt,



deux question en une : je sais que je devrais pas poser ce genre de question ( :D ) mais je m'y risque :



_ Je veux ouvrir un fichier. Utilser un FileDialog, ou j'ai vu qu'il y
avait FileChooserUI, ou encore JFileChooser je crois. Quel est le mieux
sachant que c une applet, et que je voudrais que l'aspect de la boite
de dialogue soit celui du système utilisé.



_ Comment récupérer le nom du fichier sélectionné, une fois que l'on
clique sur "Ouvrir" ? Pour l'instant, j'ai lié le clic de mon bouton
"choisir", il me lance un FileDialog, mais après ? Je sais que si je
met un autre bouton du genre "étape2" après que le fichier ait été
choisi je pourrais faire :

Dans un de mes poly : Label E = (label)(this.getComponent(1));



par contre comment faire pour capturer l'évènement "clic sur ouvrir" de la FileDialog ?



Merci d'avance...

4 réponses

gmi19oj19 Messages postés 545 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 28 septembre 2011 2
29 déc. 2005 à 13:39
Si c'est une applet, t'as déjà perdu tu peux pas lire de fichier sur l PC client.

La seule solution, c'est de faire une appli que tu deploies via JavaWebStart^^

Apres, j'pense que le JFileChooser reste quand même ce qu'il se fait de mieux, vu qu'à peu de chose pres c'est ce que tu fois dans tous les logiciels quand tu fais "ouvrir".

Pour recuperer le fichier, c'est un bete "getSelectedFile()" pour peu que la valeur de retour de la methode qui affiche le composant soit celle du bouton de validation.

J'ai la flemme d'aller dans la javadoc voir les noms exacts des methodes et des codes de retour, vas y faire un tour, c'et très bien expliqué^^

gmi19oj19
0
el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 9
29 déc. 2005 à 13:46
Alors, je voudrais que mon applet ouvre un fichier sur le pc client en
effet, mais l'applet, elle, est bien exécutée sur le PC client ? Je
sais qu'une applet ne peut pas exécuter d'éxécutable, mais je veux
juste ouvrir un fichier html, sans rien en faire, juste le parcourir.



Sinon, une fois que j'ai crée ma FileDialog, ne dois-je pas m'inscrire
à un gestionnaire d'évèt. tel que je l'ai fait pour mon bouton "Choisir
le fichier" ?



du genre :

public void init(){

try

{

BoutonChoisir = new JButton("Choisir le fichier");

getContentPane().add(BoutonChoisir);

BoutonChoisir.addActionListener(this);

}

catch (Exception e) {

System.out.println(e.getMessage());

}

}



Alors le pb, c'est qu'il y a pas addActionListener pour FileDialog,
sinon, dans ma méthode ActionPerformed, j'aurais rajouter une condition
pour tester si je clique sur le bouton "ouvrir" de la filedialog, mais
ca amène un problème, comment faire s'il y a plusieurs boutons nommés
"Ouvrir" dans l'appli ? Que de questions ;)
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
29 déc. 2005 à 13:49
Non, un JFileChooser ne fonctionner pas comme un bouton, mais comme un fenêtre :



De mémoire, ca donne un truc comme cà :



JFileChooser fc = new JFileChooser();
fc.show();

System.out.println(fc.GetFileName());



Donc en gros, tu crées ton objets filechooser, puis tu affiche la
feuille (qui est modale, donc elle bloque ton éxécution tant qu'elle
n'est pas fermée), et ensuite, tu lit le fichier sélectionné par
l'utilisateur.

_____________________________________________________________________
DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
0
gmi19oj19 Messages postés 545 Date d'inscription lundi 10 mai 2004 Statut Membre Dernière intervention 28 septembre 2011 2
29 déc. 2005 à 13:56
Beien qu'executée sur la mchine cliente, l'applet reste hyper-limitée dans ce qu'elle peut y faire, pour raisons de sécurité évidentes. Y a aucun moyen de contourner ça tant que tu gardes une applet.

Si tu tiens vraiment à ce que tu executes une application Java sur le Web qui aille se promener dans les fichiers du poste client, faut utiliser Java Web Start.

Sinon, j'ai rouvert un code perso qui utilise le JFileChooser :

JFileChooser jfc = new JFileChooser();
int res = jfc.showDialog(FenetreAppli.this,"Enregistrer");
if (res == JFileChooser.APPROVE_OPTION) {
System.out.println(jfc.getSelectedFile());
}

gmi19oj19
0
Rejoignez-nous