Comment puis-je ouvrir un lien dans le navigateur par défaut en cliquant sur un bouton, dans le sens de
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
open("www.google.com"); // just what is the 'open' method?
}
});
?
Réponses:
Utilisez la méthode Desktop # Browse (URI) . Il ouvre un URI dans le navigateur par défaut de l'utilisateur.
la source
new ProcessBuilder("x-www-browser", uri.toString());
. Vous penseriez que s'il y avait des restrictions de sécurité, l'appel ProcessBuilder ne fonctionnerait pas. Mais, il fonctionne. Je ne sais pas pourquoidesktop.browse(uri)
cela ne fonctionne pas, mais j'ai vu que cela ne fonctionne pas pour beaucoup de gens. J'imaginais que c'était peut-être un problème Netbeans, mais je ne sais pas.openWebpage
pourrait utiliserRuntime.exec(..)
et parcourir un ensemble prédéfini de noms de navigateurs populaires, en leur passant l'URL. Cela a également la mise en garde de ne pas fonctionner pour les utilisateurs avec des navigateurs obscurs, mais je l'écrirai et l'ajouterai bientôt à cette réponse lorsque j'aurai un moment libre.la source
Remarque: vous devez inclure les importations nécessaires depuis
java.net
la source
Une solution sans l'environnement de bureau est BrowserLauncher2 . Cette solution est plus générale car sous Linux, Desktop n'est pas toujours disponible.
La réponse longue est publiée sur https://stackoverflow.com/a/21676290/873282
la source
la source
Je sais que c'est une vieille question mais parfois cela
Desktop.getDesktop()
produit un crash inattendu comme dans Ubuntu 18.04. Par conséquent, je dois réécrire mon code comme ceci:Ensuite, nous pouvons appeler cet assistant à partir de l'instance:
la source
la source