Bonsoir à tous,
Donc me revoilà, cette fois ci je sollicite votre aide pour créer un lien sur un bouton qui renverrai sur une URL...
Je souhaiterais utiliser BrowserControl, qu'en pensez-vous ?
Merci
Seb
Bonsoir à tous,
Donc me revoilà, cette fois ci je sollicite votre aide pour créer un lien sur un bouton qui renverrai sur une URL...
Je souhaiterais utiliser BrowserControl, qu'en pensez-vous ?
Merci
Seb
Si tienes una pistola puedes robar un banco, pero si tienes un banco puedes robar a todo el mundo.... ¡DESPIERTA!
Hein ? Quoi ? Qui ? Ou ?
Plus d'info peut-être ? Quel framework graphique et d’où sort de BrowserControl ?
Merci de penser au tagquand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.
suivez mon blog sur Développez.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook
Bonsoir,
je souhaite créer un lien sur un bouton "cliquable"par exemple dans une JFrame avec un JButton..
Merci,
Seb
Si tienes una pistola puedes robar un banco, pero si tienes un banco puedes robar a todo el mundo.... ¡DESPIERTA!
Salut,
Je suppose que tu veux parler d'afficher une ressource correspondant à une URL, comme une page web par exemple.
Tu peux faire ça dans un navigateur externe (le navigateur par défaut) via la classe Desktop. Tu peux également afficher dans un navigateur interne (un composant Java). En Swing, le composant est assez vieux et ne supporte pas grand chose de récent, donc à éviter, sauf ressource simple (image, page web html3/css1, pas de JavaScript), Il y a un composant SWT qui a été intégré en Swing via la bibliothèque DJNative, mais c'est assez lourd (bibliothèque spécifique à l'OS (native)). Reste la solution JavaFX, avec SwingSimpleBrowser ou un WebView dans un JFXPanel.).
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Bonjour Joel,
Oui je pense que la class desktop avec la method browse devrais le faire tu en pense quoi ?
je vais faire quelques essais et si c'est ok j'expliquerai ce que j'ai fait et je passerais en RESOLU..
Merci,
Seb
Si tienes una pistola puedes robar un banco, pero si tienes un banco puedes robar a todo el mundo.... ¡DESPIERTA!
Bah, ça c'est toi qui vois si ça te convient pour ton programme. De manière générale, ça dépend de ce qu'on veut faire : est-ce juste pour afficher un site web par exemple, ou est-ce que ça a plus de sens d'être intégré dans l'interface, ou est-ce qu'il y a besoin d'une interaction ou d'un retour avec l'application.
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
En faite il y aura juste besoin d'emmener les personnes sur la page internet concernée sans plus et sans retour au programme..
Si tienes una pistola puedes robar un banco, pero si tienes un banco puedes robar a todo el mundo.... ¡DESPIERTA!
Donc Desktop.getDesktop().browse(uri) convient très bien. Attention, toutefois, ce n'est pas supporté par tous les environnements (Tester Desktop.isDesktopSupported()).
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Bonjour Joel,
Voila ou j'en suis, ça fonctionne,
maintenant je réfléchie comment le lier à mon bouton, si tu as une piste je suis preneur..
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 import java.awt.Desktop; import java.net.*; import java.io.IOException; public class Launch { public static void main(String[] args) throws IOException { if( Desktop.isDesktopSupported() ) { new Thread(() -> { try { Desktop.getDesktop().browse( new URI( "http://google.fr" ) ); } catch (IOException | URISyntaxException e1) { e1.printStackTrace(); } }).start(); } } }
Merci,
Seb
Si tienes una pistola puedes robar un banco, pero si tienes un banco puedes robar a todo el mundo.... ¡DESPIERTA!
Déjà ton thread ne sert à rien. Ensuite, si tu entends par "lier à ton bouton" faire que "l'action de ton bouton déclenche le lien", il faut simplement écouter les déclenchements d'actions du bouton, ce qui se fait par l'enregistrement d'une instance d'ActionListener sur le bouton. Ce qui implique déjà d'avoir un bouton, et, donc, une GUI (au moins une fenêtre).
Voici un petit exemple :
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80 import java.awt.BorderLayout; import java.awt.Desktop; import java.awt.FlowLayout; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import java.util.stream.Stream; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JList; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; public class DemoDesktopURI { public static void main(String[] args) { if ( (Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Desktop.Action.BROWSE)) ) { // si l'action BROWSE est supportée... JFrame frame = new JFrame("Démo"); // Je crée une fenêtre frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // je prépare une liste d'URI que je pourrais choisir... URI[] uris = Stream.of( "https://java.developpez.com/", "https://www.developpez.net/forums/f6/java/", "https://www.developpez.net/forums/", "https://www.developpez.net" ) .map(uri -> { try { return new URI(uri); } catch (URISyntaxException e) { throw new RuntimeException(e); } }) .toArray(URI[]::new); // ... dans une liste dans ma fenêtre JList<URI> list = new JList<>(uris); // je crée un bouton JButton button = new JButton("Voir dans le navigateur..."); // j'enregistre un écouteur d'événements de type Action sur le bouton button.addActionListener(e-> { try { Desktop.getDesktop().browse(list.getSelectedValue()); // j'ouvre l'URI sélectionnée dans la liste par le navigateur par défaut } catch (IOException e1) { JOptionPane.showMessageDialog(frame, "Impossible de voir ce site :\n"+list.getSelectedValue()); } }); // ça c'est juste pour que mon bouton soit centré JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.CENTER)); buttonPanel.add(button); // je mets la liste au centre la frame, via un scrollpane, au cas où la frame serait trop petite pour tout voir frame.add(new JScrollPane(list)); // je mets le bouton en bas de la fenêtre, via le panel de centrage frame.add(buttonPanel,BorderLayout.SOUTH); frame.pack(); // dimensionnement automatique de la fenêtre frame.setLocationRelativeTo(null); // centrage automatique de la fenêtre par rapport à l'écran frame.setVisible(true); // affichage de la fenêtre } else { // si Desktop ou Desktop.browse() ne sont pas supportés, alors j'affiche un message d'information JOptionPane.showMessageDialog(null, "Désolé, fonction non supportée..."); } } }
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Super exemple !
J'en demandais pas tant, mille mercis !
Seb
Si tienes una pistola puedes robar un banco, pero si tienes un banco puedes robar a todo el mundo.... ¡DESPIERTA!
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