Open Browser window from Java program

后端 未结 5 2004
小蘑菇
小蘑菇 2021-01-12 21:44

Question

I have an application written in Java. It is designed to run on a Linux box standalone. I am trying to spawn a new firefox windo

相关标签:
5条回答
  • 2021-01-12 22:20

    Use BrowserLauncher.

    Invoking it is very easy, just go

    new BrowserLauncher().openURLinBrowser("http://www.google.com");
    
    0 讨论(0)
  • 2021-01-12 22:23

    after having read the various answers and various comments(from questioner), here's what I would do

    1) try this java approach http://java.sun.com/j2se/1.5.0/docs/api/java/lang/ProcessBuilder.html

    ProcessBuilder pb = new ProcessBuilder("myCommand", "myArg1", "myArg2");
    Map<String, String> env = pb.environment();
    env.put("VAR1", "myValue");
    env.remove("OTHERVAR");
    env.put("VAR2", env.get("VAR1") + "suffix");
    pb.directory("myDir");
    Process p = pb.start();
    

    see more about this class:

    http://java.sun.com/developer/JDCTechTips/2005/tt0727.html#2
    http://www.javabeat.net/tips/8-using-the-new-process-builder-class.html

    2) try doing this(launching firefox) from C/C++/ruby/python and see if that is succeeding.

    3) if all else fails, I would launch a shell program and that shell program would launch firefox!!

    0 讨论(0)
  • 2021-01-12 22:24

    You might have better luck if you read and display the standard output/error streams, so you can catch any error message firefox may print.

    0 讨论(0)
  • 2021-01-12 22:25

    If you can narrow it down to Java 6, you can use the desktop API:

    http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/desktop_api/

    Should look something like:

        if (Desktop.isDesktopSupported()) {
            Desktop desktop = Desktop.getDesktop();
            if (desktop.isSupported(Desktop.Action.BROWSE)) {
                try {
                    desktop.browse(new URI("http://localhost"));
                }
                catch(IOException ioe) {
                    ioe.printStackTrace();
                }
                catch(URISyntaxException use) {
                    use.printStackTrace();
                }
            }
        }
    
    0 讨论(0)
  • 2021-01-12 22:38
    try {
         String url = "http://www.google.com";
         java.awt.Desktop.getDesktop().browse(java.net.URI.create(url));
    } catch (java.io.IOException e) {
         System.out.println(e.getMessage());
    }
    
    0 讨论(0)
提交回复
热议问题