abrir pagina web desde java netbeans
Cómo abrir el navegador web predeterminado usando Java (7)
Aquí está mi código. Se abrirá una url dada en el navegador predeterminado (solución multiplataforma).
import java.awt.Desktop;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
public class Browser {
public static void main(String[] args) {
String url = "http://www.google.com";
if(Desktop.isDesktopSupported()){
Desktop desktop = Desktop.getDesktop();
try {
desktop.browse(new URI(url));
} catch (IOException | URISyntaxException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else{
Runtime runtime = Runtime.getRuntime();
try {
runtime.exec("xdg-open " + url);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
¿Puede alguien señalarme en la dirección correcta sobre cómo abrir el navegador web predeterminado y establecer la página en "www.example.com" gracias
Como se señala en la respuesta proporcionada por Tim Cooper, java.awt.Desktop
ha proporcionado esta capacidad desde Java versión 6 (1.6), pero con la siguiente advertencia:
Use el método isDesktopSupported () para determinar si Desktop API está disponible. En el sistema operativo Solaris y la plataforma Linux, esta API depende de las bibliotecas Gnome. Si esas bibliotecas no están disponibles, este método devolverá falso.
Para las plataformas que no admiten ni proporcionan java.awt.Desktop
, consulte el proyecto BrowserLauncher2 . Se deriva y se actualiza algo de la clase BrowserLauncher originalmente escrita y publicada por Eric Albert. Usé la clase BrowserLauncher original con éxito en una aplicación Java multiplataforma que se ejecutaba localmente con una interfaz de navegador web a principios de la década de 2000.
Tenga en cuenta que BrowserLauncher2 está licenciado bajo la Licencia Pública General Reducida de GNU . Si esa licencia es inaceptable, busque una copia del BrowserLauncher original que tiene una licencia muy liberal:
Este código es Copyright 1999-2001 de Eric Albert ([email protected]) y puede redistribuirse o modificarse de cualquier forma y sin restricciones, siempre que la parte de este comentario de este párrafo hasta el final del comentario no se elimine. . El autor solicita que se le notifique cualquier aplicación, applet u otro binario que haga uso de este código, pero eso es más por curiosidad que nada y no es obligatorio. Este software no incluye garantía. El autor no es responsable de ninguna pérdida de datos o funcionalidad, ni de ningún efecto adverso o inesperado del uso de este software.
Créditos: Steven Spencer, revista JavaWorld (Java Tip 66) Gracias también a Ron B. Yeh, Eric Shapiro, Ben Engber, Paul Teitlebaum, Andrea Cantatore, Larry Barowski, Trevor Bedzek, Frank Miedrich y Ron Rabakukk.
Los proyectos que no sean BrowserLauncher2 también pueden haber actualizado el BrowserLauncher original para dar cuenta de los cambios en el navegador y la configuración de seguridad predeterminada del sistema desde 2001.
Es muy simple, solo escriba el siguiente código:
String s = "http://www.google.com";
Desktop desktop = Desktop.getDesktop();
desktop.browse(URI.create(s));
o si no desea cargar la URL, simplemente escriba el nombre de su navegador en valores de cadena como,
String s = "chrome";
Desktop desktop = Desktop.getDesktop();
desktop.browse(URI.create(s));
se abrirá el navegador automáticamente con la URL vacía después de ejecutar un programa
Para mí, la solución con Desktop.isDesktopSupported () no funciona (Windows 7 y ubuntu). Intenta esto para abrir el navegador desde el código java:
Windows:
Runtime rt = Runtime.getRuntime();
String url = "http://.com";
rt.exec("rundll32 url.dll,FileProtocolHandler " + url);
Mac
Runtime rt = Runtime.getRuntime();
String url = "http://.com";
rt.exec("open " + url);
Linux:
Runtime rt = Runtime.getRuntime();
String url = "http://.com";
String[] browsers = { "epiphany", "firefox", "mozilla", "konqueror",
"netscape", "opera", "links", "lynx" };
StringBuffer cmd = new StringBuffer();
for (int i = 0; i < browsers.length; i++)
if(i == 0)
cmd.append(String.format( "%s /"%s/"", browsers[i], url);
else
cmd.append(String.format(" || %s /"%s/"", browsers[i], url);
// If the first didn''t work, try the next browser and so on
rt.exec(new String[] { "sh", "-c", cmd.toString() });
Si desea tener una aplicación multiplataforma, debe agregar la verificación del sistema operativo (por ejemplo):
String os = System.getProperty("os.name").toLowerCase();
Windows:
os.indexOf("win") >= 0
Mac:
os.indexOf("mac") >= 0
Linux:
os.indexOf("nix") >=0 || os.indexOf("nux") >=0
También puede usar el Runtime para crear una solución multiplataforma:
import java.awt.Desktop;
import java.net.URI;
public class App {
public static void main(String[] args) throws Exception {
String url = "http://.com";
if (Desktop.isDesktopSupported()) {
// Windows
Desktop.getDesktop().browse(new URI(url));
} else {
// Ubuntu
Runtime runtime = Runtime.getRuntime();
runtime.exec("/usr/bin/firefox -new-window " + url);
}
}
}
en Windows invoque "cmd / k start http://www.example.com " De hecho, siempre puede invocar programas "predeterminados" utilizando el comando de inicio. Para comenzar, abc.mp3 invocará el reproductor de mp3 predeterminado y cargará el archivo mp3 solicitado.
java.awt.Desktop
es la clase que estás buscando.
import java.awt.Desktop;
import java.net.URI;
// ...
if (Desktop.isDesktopSupported()) {
Desktop.getDesktop().browse(new URI("http://www.example.com"));
}