|
|
|
|
@ -12,6 +12,7 @@
|
|
|
|
|
|
|
|
|
|
import javax.swing.JOptionPane;
|
|
|
|
|
|
|
|
|
|
import edu.stanford.ejalbert.BrowserLauncher;
|
|
|
|
|
import edu.stanford.ejalbert.BrowserLauncherRunner;
|
|
|
|
|
import edu.stanford.ejalbert.exceptionhandler.BrowserLauncherErrorHandler;
|
|
|
|
|
|
|
|
|
|
@ -21,12 +22,10 @@
|
|
|
|
|
*
|
|
|
|
|
* @author Yana Stamcheva
|
|
|
|
|
*/
|
|
|
|
|
public class BrowserLauncher {
|
|
|
|
|
public class CrossPlatformBrowserLauncher {
|
|
|
|
|
|
|
|
|
|
//private static final String errMsg
|
|
|
|
|
// = Messages.getString("launchBrowserError");
|
|
|
|
|
|
|
|
|
|
private static edu.stanford.ejalbert.BrowserLauncher launcher;
|
|
|
|
|
private static BrowserLauncher launcher;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Launches a browser for the given url, depending on the operation system
|
|
|
|
|
* and the browsers available.
|
|
|
|
|
@ -34,17 +33,14 @@ public class BrowserLauncher {
|
|
|
|
|
* @param url The url to open in the browser.
|
|
|
|
|
*/
|
|
|
|
|
public static void openURL(String urlString) {
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
launcher = new edu.stanford.ejalbert.BrowserLauncher(null);
|
|
|
|
|
launcher = new BrowserLauncher(null);
|
|
|
|
|
|
|
|
|
|
if (urlString == null || urlString.trim().length() == 0) {
|
|
|
|
|
if (urlString == null || urlString.trim().length() == 0) {
|
|
|
|
|
throw new MalformedURLException("You must specify a url.");
|
|
|
|
|
}
|
|
|
|
|
new URL(urlString); // may throw MalformedURLException
|
|
|
|
|
BrowserLauncherErrorHandler errorHandler
|
|
|
|
|
= new TestAppErrorHandler();
|
|
|
|
|
|
|
|
|
|
BrowserLauncherErrorHandler errorHandler = new TestAppErrorHandler();
|
|
|
|
|
String targetBrowser = launcher.getBrowserList().get(0).toString();
|
|
|
|
|
|
|
|
|
|
BrowserLauncherRunner runner = new BrowserLauncherRunner(
|
|
|
|
|
@ -62,39 +58,6 @@ public static void openURL(String urlString) {
|
|
|
|
|
"Error Message",
|
|
|
|
|
JOptionPane.ERROR_MESSAGE);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
String osName = System.getProperty("os.name");
|
|
|
|
|
try {
|
|
|
|
|
if (osName.startsWith("Mac OS")) {
|
|
|
|
|
Class fileMgr = Class.forName("com.apple.eio.FileManager");
|
|
|
|
|
Method openURL = fileMgr.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",
|
|
|
|
|
"epiphany", "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());
|
|
|
|
|
}
|
|
|
|
|
*/
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static class TestAppErrorHandler
|