当前位置: 代码迷 >> Java相关 >> 点击Swing界面的按钮时超链接到指定Jsp页面
  详细解决方案

点击Swing界面的按钮时超链接到指定Jsp页面

热度:125   发布时间:2010-11-23 18:59:21.0
点击Swing界面的按钮时超链接到指定Jsp页面
用Swing做的界面,怎样点击一个按钮(或其他组件)就超链接到一个指定的Jsp页面?
搜索更多相关的解决方案: Jsp  Swing  按钮  界面  链接  

----------------解决方案--------------------------------------------------------
程序代码:
package a;

import java.io.IOException;

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,FileProtocolHandler 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(<span style="color: #008000; text-decoration: underline;">http://www.javaworld.com[/color])'
                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 <span style="color: #008000; text-decoration: underline;">http://www.javaworld.com[/color]'
                        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.name");
        if ( os != null && os.startsWith(WIN_ID))
            return true;
        else
            return false;
    }
    /**
     * Simple example.
     
*/
    public static void main(String[] args)
    {
        displayURL("http://www.javaworld.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,FileProtocolHandler";
    // 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";

}

----------------解决方案--------------------------------------------------------