how to open broswser in Swing

来源:互联网 发布:诺瓦刷屏软件下载 编辑:程序博客网 时间:2024/06/02 17:50

package com.sanminasci.scion.spc.client.util;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

/**
 *
 */
public class OpenBrowser {
    public static void openURL(String url) {
        String osName = System.getProperty("os.name");
        try {
            if (osName.startsWith("Windows"))
                Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + url);
            else {
                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];
                Runtime.getRuntime().exec(new String[] { browser, url });
            }
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, "Error in opening browser"+ ":/n" + e.getLocalizedMessage());
        }
    }

    public static void main(String[] args) {
        JFrame frame = new JFrame();
        JPanel panel = new JPanel();
        final JTextField url = new JTextField(20);
        JButton button = new JButton("Open Browser");
        button.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                OpenBrowser.openURL(url.getText().trim());
            }
        });
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        panel.add(new JLabel("URL:"));
        panel.add(url);
        panel.add(button);
        frame.getContentPane().add(panel);
        frame.pack();
        frame.setVisible(true);
    }
}

原创粉丝点击