Como posso abrir um link no navegador padrão com um clique de botão, ao longo das linhas de
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
open("www.google.com"); // just what is the 'open' method?
}
});
?
Respostas:
Use o método Desktop # browse (URI) . Ele abre um URI no navegador padrão do usuário.
fonte
new ProcessBuilder("x-www-browser", uri.toString());
. Você pensaria que, se houvesse restrições de segurança, a chamada do ProcessBuilder não funcionaria. Mas funciona. Não tenho ideia de pordesktop.browse(uri)
que não funciona, mas tenho visto que não funciona para muitas pessoas. Achei que talvez seja um problema do Netbeans, mas não sei.openWebpage
poderia usarRuntime.exec(..)
e iterar por meio de um conjunto predefinido de nomes de navegadores populares, passando-lhes o URL. Isso também tem a ressalva de não funcionar para usuários com navegadores obscuros, mas irei escrever e adicioná-lo a esta resposta em breve, quando tiver um momento livre.fonte
nota: você deve incluir as importações necessárias de
java.net
fonte
Uma solução sem o ambiente Desktop é o BrowserLauncher2 . Esta solução é mais geral, pois no Linux, o Desktop nem sempre está disponível.
A resposta lenghty está postada em https://stackoverflow.com/a/21676290/873282
fonte
fonte
Eu sei que esta é uma pergunta antiga, mas às vezes
Desktop.getDesktop()
produz uma falha inesperada como no Ubuntu 18.04. Portanto, tenho que reescrever meu código assim:Em seguida, podemos chamar esse auxiliar da instância:
fonte
fonte