Bonjour,
j'ai récupéré le chemin d'un fichier dans un JtextField, comment ouvrir le fichier en cliquant sur mon jtextField?
Bonjour,
j'ai récupéré le chemin d'un fichier dans un JtextField, comment ouvrir le fichier en cliquant sur mon jtextField?
"Ouvrir" mais encore ? Obtenir un InputStream ?
N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
Mon but est d'ouvrir le fichier, je ne sais pas trop comment, c pour cela que je me suis retournée vers vous.
Bah c'est pas évident évident, mais je suppose que tu peux regarder à quel offset du disque dur commence ce fichier, puis éteindre l'ordinateur, retirer le disque dur, enlever le capot, calculer sur quel disque et à quel endroit se trouve le fichier à partir de son offset, prendre un laser de précision pour couper une entaille dans le disque à cet endroit, et utiliser des forceps pour ouvrir l'entaille.
... Mais je vois pas trop l'intérêt, en fait.
Ça veut dire quoi ouvrir un fichier ? Il faut qu'il se passe quoi quand tu le fais ? Ouvrir un fichier consiste à changer quoi par rapport au moment où il n'était pas encore ouvert ?
N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
je veux quand je clique sur la partie entouré, mon pdf "apprenez à programmer en java" s'ouvre, pour que je puis apprendre à programmer, compris?
il n'ya pas une fonction directe pour ça?
L'ouvrir comment? j'ai déjà fait un truc semblable mais j'ouvrais le fichier avec le logiciel par défaut qui doit au préalable être installé sur la machine pour une ouverture personnalisé je ne sais pas trop
La force d'un programmeur ne réside pas dans le fait qu'il écrive des codes puissants mais dans sa capacité à les maintenir!!!
je vois pas pourquoi tout le monde me demande comment l'ouvrir! vous voyez quand vous cliquez sur l'icon d'un pdf?? qu'est ce qui se passe? le pdf s'ouvre, et vous commencez votre lecture, n'est ce pas?
maintenant à partir du jtextField, ou j'ai récupérer le chemin, je veux l'ouvrir (si on veut, je veux rendre le chemin "hypertext" comme sur le word), compris?
Tu peux utiliser la Classe Desktop pour ça.
Attention toute fois car toutes les plateformes ne supporte pas cette opération. Tu peux utiliser la méthode Desktop.isDesktopSupported() pour le savoir.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Desktop.getDesktop().open( new File("C:\\monFichier.pdf") );
Cdt.
merci pour votre réponse, j'ai eu une idée claire, et j'ai écris cette tranche de code:
mais ça ne m'ouvre rien!
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 private void pièceActionPerformed(java.awt.event.ActionEvent evt) { Desktop desktop = null; desktop = Desktop.getDesktop(); String path = pièce.getText(); File fPath=new File(path); if(!fPath.exists()){ return; } if(!fPath.isDirectory()){ } try { desktop.open(new File(path)); } catch (IOException ex) { Logger.getLogger(DossierPatient.class.getName()).log(Level.SEVERE, null, ex); } }
Ton code marche très bien chez moi.
Par contre si tu récupères la chaine tel que je la vois sur ton screenshot (sans séparateur entre les nom de dossier) ça risque pas de marcher..
@ Nico peut être je récupère mal le chemin? voila la partie du code@ Junior, mes pdf se lance quand je clique sur les icn, de quel logiciel vous parlez?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 JFileChooser jFileChooser1=new JFileChooser(); int i=jFileChooser1.showOpenDialog(this); if(i==jFileChooser1.APPROVE_OPTION) pièce.setText(jFileChooser1.getSelectedFile().getPath()); else pièce.setText("aucun fichier n'a été selectionné"); }
La méthode me parait bonne mais comme dans ton sceen les séparateurs n'apparaissent pas je me pose la question..
Affiche la valeur avant de l'ouvrir pour voir ce que tu récupères.
Ah, et par pitié enlève moi tous les accents de tes nom de variable/méthodes/classe... Les accents c'est le MAL !
Et montre moi comment tu crées ton listener sur ton JTextField. Car avec un nom comme pièceActionPerformed() j'ai un peu peur...
je ne vois pas ou est le prob alors! vous n'avez pas une autre méthode?
ps: merci pour votre conseil concernant les accents
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 private void pièceActionPerformed(java.awt.event.ActionEvent evt) { Desktop desktop = null; desktop = Desktop.getDesktop(); String path = pièce.getText(); File fPath=new File(path); if (desktop.isSupported(Desktop.Action.OPEN)){ if(!fPath.exists()){ System.out.println("le fichier n'existe pas"); } if(!fPath.isDirectory()){ System.out.println("ceci n'est pas un lien"); } try { desktop.open(new File(path)); } catch (IOException ex) { Logger.getLogger(DossierPatient.class.getName()).log(Level.SEVERE, null, ex); } } System.out.println("c pas supporté"); }
Je pense sincèrement que en cherchant tu peux trouver facilement sur internet...
Cependant je vois pas comment a partir d'un JTexfield tu veux ouvrir ça ?
peut-être que ce petit bout de code t'aidera.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Desktop d = Desktop.getDesktop(); d.open(new File("chemin_pdf"));
Quand tu crées ton JTextField, comment il sait quel doit utiliser cette méthode ?
Comment tu dis à ton JTextField que cette méthode est une méthode d'écoute ?
Est-ce qu'il passe bien dans cette méthode ?
Quel valeur tu récupère quand tu fais String path = pièce.getText(); ?
Là tu fais que me balancer du codes en attendant que je te donne les réponses..
Mes codes sont correctement écrits.
Qu'est ce qui vous fait dire ça ?
la je suis vraiment étonnée !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager