Demander l'ouverture d'une fenêtre de choix de visualiseur

Résolu/Fermé
killdragon Messages postés 33 Date d'inscription lundi 17 décembre 2012 Statut Membre Dernière intervention 1 janvier 2013 - 17 déc. 2012 à 13:58
killdragon Messages postés 33 Date d'inscription lundi 17 décembre 2012 Statut Membre Dernière intervention 1 janvier 2013 - 18 déc. 2012 à 17:49
Bonjour,

je souhaiterais pouvoir faire un programme qui demande a l'utilisateur de choisir un visualiseur lorsqu'il ouvre un fichier, je m'explique :

Je dois donc recenser des fichiers pdf et ensuite demander a l'utilisateur d'en choisir un a ouvrir (a l'aide d'une arborescence), et quand il clique sur "ouvrir" je souhaiterais qu'il puisse donc choisir un visualiseur comme acrobat reader sauf que je ne sais absolument pas comment coder cette demande....

Pour continuer sur cette lancée il faudrait que lorsque l'utilisateur choisisse son visualiseur le programme puisse garder en mémoire quel visualiseur l'utilisateur a demandé pour ne pas avoir a redemander a chaque fois a l'utilisateur de choisir son visualiseur

Voila j'espère que vous pourrez m'aider, merci d'avance :)



A voir également:

3 réponses

killdragon Messages postés 33 Date d'inscription lundi 17 décembre 2012 Statut Membre Dernière intervention 1 janvier 2013
18 déc. 2012 à 12:47
dois-je utiliser process = Runtime.getRuntime().exec(command); ? je n'ai pas vraiment compris son fonctionnement...
0
KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 3 020
Modifié par KX le 18/12/2012 à 13:47
Une idée aurait pu être d'utiliser Desktop.getDesktop().open(File) qui utilise le programme par défaut pour ouvrir le fichier, mais ça ne te permet pas d'avoir le choix du programme (au passage, qui y a-t-il d'autre qu'Acrobate Reader pour lire des PDF ?)

Runtime.getRuntime().exec(command); est une alternative, elle permet d'accéder aux commandes système, mais du coup ces commandes dépendront de l'OS sur lequel tu exécutes.

Par exemple, pour Windows :

private static final String OPEN_WITH_WINDOWS = "RUNDLL32.EXE SHELL32.DLL,OpenAs_RunDLL ";
private static final Runtime RUNTIME = Runtime.getRuntime();

public static Process openWith(File file) throws IOException
{
	return RUNTIME.exec(OPEN_WITH_WINDOWS + file.getAbsolutePath());
}

public static Process openWith(String fileName) throws IOException
{
	return openWith(new File(fileName));
}

public static void main(String[] args) throws IOException
{
	openWith("C:/test.pdf");
}
La confiance n'exclut pas le contrôle
0
killdragon Messages postés 33 Date d'inscription lundi 17 décembre 2012 Statut Membre Dernière intervention 1 janvier 2013
18 déc. 2012 à 17:49
Merci bien, c'est ce que je me disais...cela dépend donc des OS

Il y a en effet d'autres visualiseur de fichiers PDF autre qu'acrobat reader, bien que presque tout le monde l'utilise, ainsi je vais pencher pour une solution en Desktop.getDesktop().open(File) merci :)


La je suis en train de me battre pour placer des boutons avec les layouts, mon but était d'avoir un écran imaginairement divisé en 4, en ayant mis les bouton en haut a droite, les uns sous les autres sans toucher aux autres cases...si tu as une idée de comment s'occuper des layouts je suis aussi preneur (puisque ce satané GridLayout ne fonctionne pas comme je le souhaite)
0