Sunday, September 04, 2005

Jump to the Web from a Java Swing Application

Do you have problem to launch a browser from your SWING Application? Here is the answer...
There are 3 open source projects that solve this problem :
1. BrowserLauncher
2. BrowserLauncher2
3. Bare Bones Browser Launch

Bare Bones solution is a light-weight method and very easy to use.
Bare Bones is free and works on Mac OS X, GNU/Linux, Unix (Solaris), and Windows XP.

Here is the snipplet code:

////////////////////////////////////////////////////////
// Bare Bones Browser Launch //
// Version 1.1 //
// July 8, 2005 //
// Supports: Mac OS X, GNU/Linux, Unix, Windows XP //
// Example Usage: //
// String url = "http://www.centerkey.com/"; //
// BareBonesBrowserLaunch.openURL(url); //
// Public Domain Software -- Free to Use as You Like //
////////////////////////////////////////////////////////

import java.lang.reflect.Method;
import javax.swing.JOptionPane;

public class BareBonesBrowserLaunch {

private static final String errMsg = "Error attempting to launch web browser";

public static void openURL(String url) {
String osName = System.getProperty("os.name");
try {
if (osName.startsWith("Mac OS")) {
Class macUtils = Class.forName("com.apple.mrj.MRJFileUtils");
Method openURL = macUtils.getDeclaredMethod("openURL",
new Class[] {String.class});
openURL.invoke(null, new Object[] {url});
}
else if (osName.startsWith("Windows"))
Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + url);
else { //assume Unix or Linux
String[] browsers = {
"firefox", "opera", "konqueror", "mozilla", "netscape" };
String browser = null;
for (int count = 0; count < browsers.length && browser == null; count++)
if (Runtime.getRuntime().exec(
new String[] {"which", browsers[count]}).waitFor() == 0)
browser = browsers[count];
if (browser == null)
throw new Exception("Could not find web browser.");
else
Runtime.getRuntime().exec(new String[] {browser, url});
}
}
catch (Exception e) {
JOptionPane.showMessageDialog(null, errMsg + ":\n" + e.getLocalizedMessage());
}
}
}


Launch the user's default browser from your Java Swing application with the following line of code:
         BareBonesBrowserLaunch.openURL("http://www.google.com");


Category: Programming

Posted by d-ace @ 11:41 PM 2 comments

2 Comments

  1. Anonymous website design New York City posted at 12:45 PM  
    very cool post
  2. Anonymous Anonymous posted at 7:54 PM  
    Good article
    Thanks
    SPORT - Live Soccer TV Online - Football transfer rumours - First one-day

Post a Comment

« Home