thread - javafx webview open link in browser




How can I open the default system browser from a java fx application? (4)

Another option is to use ProcessBuilder:

public static void openWebpage(String url) {
    try {
        new ProcessBuilder("x-www-browser", url).start();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

You can use this option if Desktop.getDesktop().browse(uri) for some reason hangs without any error.

I'm trying to open a web url in the default system browser from javafx. I didn't find any official documentation regard this. Any clue?

EDIT: I've found a tutorial but it doesn't work. I'm using MacOsX and I tried launching

java.awt.Desktop.getDesktop().browse(new URI(url));

but I get an HeadlessExcelption



It cannot be done, seems, because this feature is not implemented : https://javafx-jira.kenai.com/browse/RT-210

The matter is that you will not be able to launch anything, what requires awt-stack and jfx in the same VM. The decision - is to use a separate JVM. Just launch a separate VM, and accept commands on browsing by socket.

That is one way, another way - is to find any other way of browser call from java - this is a task not specific to javafx-2, but to java at all.

But developer has added a comment :

Anthony Petrov added a comment - May, 17 2013 05:09 PM Note that FX8 allows headful AWT to run in the same VM with FX. So the AWT API should work.


Try This:

try {
    Desktop.getDesktop().browse(new URL("https://google.com").toURI());
} catch (IOException e) {
    e.printStackTrace();
} catch (URISyntaxException e) {
    e.printStackTrace();
}