¿Cómo puedo abrir un enlace en el navegador predeterminado con un clic de botón, a lo largo de las líneas de
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
open("www.google.com"); // just what is the 'open' method?
}
});
?
Respuestas:
Utilice el método Desktop # Browse (URI) . Abre un URI en el navegador predeterminado del usuario.
fuente
new ProcessBuilder("x-www-browser", uri.toString());
. Pensaría que si hubiera restricciones de seguridad, la llamada a ProcessBuilder no funcionaría. Pero funciona. No tengo idea de por quédesktop.browse(uri)
no funciona, pero he visto que no funciona para mucha gente. Supuse que tal vez sea un problema de Netbeans, pero no lo sé.openWebpage
podría usarRuntime.exec(..)
e iterar a través de un conjunto predefinido de nombres de navegador populares, pasándoles la URL. Sin embargo, eso también tiene la advertencia de no ejecutarse para usuarios con navegadores oscuros, pero lo escribiré y lo agregaré a esta respuesta pronto, cuando tenga un momento libre.fuente
nota: debe incluir las importaciones necesarias de
java.net
fuente
Una solución sin el entorno de escritorio es BrowserLauncher2 . Esta solución es más general, ya que en Linux, Desktop no siempre está disponible.
La respuesta larga se publica en https://stackoverflow.com/a/21676290/873282
fuente
fuente
Sé que esta es una pregunta antigua, pero a veces
Desktop.getDesktop()
produce un bloqueo inesperado como en Ubuntu 18.04. Por lo tanto, tengo que volver a escribir mi código así:Entonces podemos llamar a este ayudante desde la instancia:
fuente
fuente