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

Interfaces Graphiques en Java Discussion :

Browsercontrol lien internet via bouton


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre habitué

    Homme Profil pro
    Inscrit en
    Février 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Février 2007
    Messages : 106
    Points : 189
    Points
    189
    Par défaut Browsercontrol lien internet via bouton
    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!

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Hein ? Quoi ? Qui ? Ou ?

    Plus d'info peut-être ? Quel framework graphique et d’où sort de BrowserControl ?
    Merci de penser au tag quand 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

  3. #3
    Membre habitué

    Homme Profil pro
    Inscrit en
    Février 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Février 2007
    Messages : 106
    Points : 189
    Points
    189
    Par défaut
    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!

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    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.

  5. #5
    Membre habitué

    Homme Profil pro
    Inscrit en
    Février 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Février 2007
    Messages : 106
    Points : 189
    Points
    189
    Par défaut
    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!

  6. #6
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par trentks95 Voir le message
    Oui je pense que la class desktop avec la method browse devrais le faire tu en pense quoi ?
    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.

  7. #7
    Membre habitué

    Homme Profil pro
    Inscrit en
    Février 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Février 2007
    Messages : 106
    Points : 189
    Points
    189
    Par défaut
    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!

  8. #8
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    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.

  9. #9
    Membre habitué

    Homme Profil pro
    Inscrit en
    Février 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Février 2007
    Messages : 106
    Points : 189
    Points
    189
    Par défaut
    Bonjour Joel,

    Voila ou j'en suis, ça fonctionne,


    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();
    		}
     
     
    	}
    }
    maintenant je réfléchie comment le lier à mon bouton, si tu as une piste je suis preneur..

    Merci,

    Seb
    Si tienes una pistola puedes robar un banco, pero si tienes un banco puedes robar a todo el mundo.... ¡DESPIERTA!

  10. #10
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    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.

  11. #11
    Membre habitué

    Homme Profil pro
    Inscrit en
    Février 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Février 2007
    Messages : 106
    Points : 189
    Points
    189
    Par défaut
    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!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Bouton et lien internet
    Par djgll01 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 29/05/2015, 19h46
  2. Réponses: 1
    Dernier message: 08/07/2013, 07h30
  3. [Integration] Passage paramètres via un lien ou un bouton
    Par mLk92 dans le forum Spring
    Réponses: 0
    Dernier message: 09/10/2012, 13h55
  4. [AC-2003] Lien internet variable sur bouton
    Par BMATH dans le forum IHM
    Réponses: 1
    Dernier message: 11/11/2011, 00h08
  5. Réponses: 3
    Dernier message: 13/05/2008, 15h45

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