java内嵌浏览器DJNativeSwing

http://blog.csdn.net/shikai0302/article/details/12206281
由于一个项目的需要,必须在程序中嵌入一个浏览器来完成用户的一些操作,研究了几天之后本人决定使用DJ NativeSwing这个控件,该空间需要使用以下jar包支持
1.DJNativeSwing.jar
2.DJNativeSwing-SWT.jar
3.org.eclipse.swt.win32.win32.x86_64_3.100.1.v4236b.jar 或者 org.eclipse.swt.win32.win32.x86_3.102.0.v20130605-1544
下载地址(免积分下载):http://download.csdn.net/detail/shikai2008/6344335
其中前两个为必须jar包,第三个根据操作系统选择自己合适的jar包即可。
前期工作做好之后就可以编写自己的代码了。
import java.awt.BorderLayout;  
  
import javax.swing.JFrame;  
import javax.swing.JPanel;  
import javax.swing.SwingUtilities;  
  
import chrriis.common.UIUtils;  
import chrriis.dj.nativeswing.swtimpl.NativeInterface;  
import chrriis.dj.nativeswing.swtimpl.components.JWebBrowser;  
import chrriis.dj.nativeswing.swtimpl.components.WebBrowserAdapter;  
import chrriis.dj.nativeswing.swtimpl.components.WebBrowserEvent;  
  
public class Test extends JPanel {  
  
    private static final long serialVersionUID = 1L;  
  
    private JPanel webBrowserPanel;  
  
    private JWebBrowser webBrowser;  
  
    // private String url;  
  
    public Test(String url) {  
        super(new BorderLayout());  
        this.url = url;  
        webBrowserPanel = new JPanel(new BorderLayout());  
        webBrowser = new JWebBrowser();  
        webBrowser.navigate(url);  
        webBrowser.setButtonBarVisible(false);  
        webBrowser.setMenuBarVisible(false);  
        webBrowser.setBarsVisible(false);  
        webBrowser.setStatusBarVisible(false);  
        webBrowserPanel.add(webBrowser, BorderLayout.CENTER);  
        add(webBrowserPanel, BorderLayout.CENTER);  
        // webBrowser.executeJavascript("javascrpit:window.location.href='http://www.baidu.com'");  
         webBrowser.executeJavascript("alert('haha')"); //执行Js代码  
    }  
  
    public static void main(String[] args) {  
        final String url = "http://www.baidu.com";  
        final String title = "DJ NativeSwiting Test";  
        UIUtils.setPreferredLookAndFeel();  
        NativeInterface.open();  
  
        SwingUtilities.invokeLater(new Runnable() {  
            public void run() {  
                JFrame frame = new JFrame(title);  
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
                frame.getContentPane().add(new Test(url), BorderLayout.CENTER);  
                frame.setExtendedState(JFrame.MAXIMIZED_BOTH);  
                frame.setLocationByPlatform(true);  
                frame.setVisible(true);  
            }  
        });  
        NativeInterface.runEventPump();  
    }  
  
}  



猜你喜欢

转载自panyongzheng.iteye.com/blog/2223637