TPoly
asked on
open a browser window using java
Hi,
what can i use to allow the jbutton to open a browser window when i click it?
i used:
==
getAppletContext().showDoc ument(new java.net.URL("http://www.singnet.com"),"_blank") ;
==
But there was an error:
==
symbol : method getAppletContext ()
location: class websms.b1
getAppletContext().showDoc ument(new java.net.URL("http://www.singnet.com"),"_blank") ;
^
==
How do i solve it?
Thanks
what can i use to allow the jbutton to open a browser window when i click it?
i used:
==
getAppletContext().showDoc
==
But there was an error:
==
symbol : method getAppletContext ()
location: class websms.b1
getAppletContext().showDoc
^
==
How do i solve it?
Thanks
http://ostermiller.org/utils/Browser.html
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
import the netscape.javascript package
JSObject win = JSObject.getWindow(this);
String args[] = {html, title};
win.call("show", args);
in the HTML you must have:
<script>
function show(html, title) {
window.open(html)
}
</script>
and when you call the applet in the html you must have:
MAYSCRIPT
inserted.
Hope this help you.
Bye, Giant.
JSObject win = JSObject.getWindow(this);
String args[] = {html, title};
win.call("show", args);
in the HTML you must have:
<script>
function show(html, title) {
window.open(html)
}
</script>
and when you call the applet in the html you must have:
MAYSCRIPT
inserted.
Hope this help you.
Bye, Giant.
hey use the following code to open any default webbrowser.
call the static method in ur button control action event.
BrowserControl.displayURL( "www.urwebsite.com");
or
BrowserControl.displayURL( "MyHelp/in dex.html") ;
//-- save this source as BrowserControl.java
/**
* <p>Title: Open Browser</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003-2004</p>
* <p>Company: </p>
* @author Naeem Shehzad
* @version Z.0.0.1
*/
import java.io.IOException;
/**
* A simple, static class to display a URL in the system browser.
*
* Under Unix, the system browser is hard-coded to be 'netscape'.
* Netscape must be in your PATH for this to work. This has been
* tested with the following platforms: AIX, HP-UX and Solaris.
*
* Under Windows, this will bring up the default browser under windows,
* usually either Netscape or Microsoft IE. The default browser is
* determined by the OS. This has been tested under Windows 95/98/NT.
*
* Examples:
*
BrowserControl.displayURL( "http://www.Mywebsite.com")
*
BrowserControl.displayURL( "file://c: \\docs\\in dex.html")
*
BrowserContorl.displayURL( "file:///u ser/index. html");
*
* Note - you must include the url type -- either "http://" or
* "file://".
*/
public class BrowserControl
{
/**
* Display a file in the system browser. If you want to display a
* file, you must include the absolute path name.
*
* @param url the file's url (the url must start with either "http://"
or
* "file://").
*/
public static void displayURL(String url)
{
boolean windows = isWindowsPlatform();
String cmd = null;
try
{
if (windows)
{
// cmd = 'rundll32 url.dll,FileProtocolHandle r http://...'
cmd = WIN_PATH + " " + WIN_FLAG + " " + url;
Process p = Runtime.getRuntime().exec( cmd);
}
else
{
// Under Unix, Netscape has to be running for the "-remote"
// command to work. So, we try sending the command and
// check for an exit value. If the exit command is 0,
// it worked, otherwise we need to start the browser.
// cmd = 'netscape -remote openURL(http://www.Mywebsite.com)'
cmd = UNIX_PATH + " " + UNIX_FLAG + "(" + url + ")";
Process p = Runtime.getRuntime().exec( cmd);
try
{
// wait for exit code -- if it's 0, command worked,
// otherwise we need to start the browser up.
int exitCode = p.waitFor();
if (exitCode != 0)
{
// Command failed, start up the browser
// cmd = 'netscape http://www.Mywebsite.com'
cmd = UNIX_PATH + " " + url;
p = Runtime.getRuntime().exec( cmd);
}
}
catch(InterruptedException x)
{
System.err.println("Error bringing up browser, cmd='" +
cmd + "'");
System.err.println("Caught : " + x);
}
}
}
catch(IOException x)
{
// couldn't exec browser
System.err.println("Could not invoke browser, command=" + cmd);
System.err.println("Caught : " + x);
}
}
/**
* Try to determine whether this application is running under Windows
* or some other platform by examing the "os.name" property.
*
* @return true if this application is running under a Windows OS
*/
public static boolean isWindowsPlatform()
{
String os = System.getProperty("os.nam e");
if ( os != null && os.startsWith(WIN_ID))
return true;
else
return false;
}
/**
* Simple example.
*/
//public static void main(String[] args)
//{
// displayURL("http://www.Mywebsite.com");
//}
// Used to identify the windows platform.
private static final String WIN_ID = "Windows";
// The default system browser under windows.
private static final String WIN_PATH = "rundll32";
// The flag to display a url.
private static final String WIN_FLAG = "url.dll,FileProtocolHandl er";
// The default browser under unix.
private static final String UNIX_PATH = "netscape";
// The flag to display a url.
private static final String UNIX_FLAG = "-remote openURL";
}
call the static method in ur button control action event.
BrowserControl.displayURL(
or
BrowserControl.displayURL(
//-- save this source as BrowserControl.java
/**
* <p>Title: Open Browser</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003-2004</p>
* <p>Company: </p>
* @author Naeem Shehzad
* @version Z.0.0.1
*/
import java.io.IOException;
/**
* A simple, static class to display a URL in the system browser.
*
* Under Unix, the system browser is hard-coded to be 'netscape'.
* Netscape must be in your PATH for this to work. This has been
* tested with the following platforms: AIX, HP-UX and Solaris.
*
* Under Windows, this will bring up the default browser under windows,
* usually either Netscape or Microsoft IE. The default browser is
* determined by the OS. This has been tested under Windows 95/98/NT.
*
* Examples:
*
BrowserControl.displayURL(
*
BrowserControl.displayURL(
*
BrowserContorl.displayURL(
*
* Note - you must include the url type -- either "http://" or
* "file://".
*/
public class BrowserControl
{
/**
* Display a file in the system browser. If you want to display a
* file, you must include the absolute path name.
*
* @param url the file's url (the url must start with either "http://"
or
* "file://").
*/
public static void displayURL(String url)
{
boolean windows = isWindowsPlatform();
String cmd = null;
try
{
if (windows)
{
// cmd = 'rundll32 url.dll,FileProtocolHandle
cmd = WIN_PATH + " " + WIN_FLAG + " " + url;
Process p = Runtime.getRuntime().exec(
}
else
{
// Under Unix, Netscape has to be running for the "-remote"
// command to work. So, we try sending the command and
// check for an exit value. If the exit command is 0,
// it worked, otherwise we need to start the browser.
// cmd = 'netscape -remote openURL(http://www.Mywebsite.com)'
cmd = UNIX_PATH + " " + UNIX_FLAG + "(" + url + ")";
Process p = Runtime.getRuntime().exec(
try
{
// wait for exit code -- if it's 0, command worked,
// otherwise we need to start the browser up.
int exitCode = p.waitFor();
if (exitCode != 0)
{
// Command failed, start up the browser
// cmd = 'netscape http://www.Mywebsite.com'
cmd = UNIX_PATH + " " + url;
p = Runtime.getRuntime().exec(
}
}
catch(InterruptedException
{
System.err.println("Error bringing up browser, cmd='" +
cmd + "'");
System.err.println("Caught
}
}
}
catch(IOException x)
{
// couldn't exec browser
System.err.println("Could not invoke browser, command=" + cmd);
System.err.println("Caught
}
}
/**
* Try to determine whether this application is running under Windows
* or some other platform by examing the "os.name" property.
*
* @return true if this application is running under a Windows OS
*/
public static boolean isWindowsPlatform()
{
String os = System.getProperty("os.nam
if ( os != null && os.startsWith(WIN_ID))
return true;
else
return false;
}
/**
* Simple example.
*/
//public static void main(String[] args)
//{
// displayURL("http://www.Mywebsite.com");
//}
// Used to identify the windows platform.
private static final String WIN_ID = "Windows";
// The default system browser under windows.
private static final String WIN_PATH = "rundll32";
// The flag to display a url.
private static final String WIN_FLAG = "url.dll,FileProtocolHandl
// The default browser under unix.
private static final String UNIX_PATH = "netscape";
// The flag to display a url.
private static final String UNIX_FLAG = "-remote openURL";
}
I believe using:
>Process p = Runtime.getRuntime().exec( cmd);
there could be some security problem.
>Process p = Runtime.getRuntime().exec(
there could be some security problem.