利用djnativeswing获取跳转url(注意: 这是非弹窗,非新窗口的url,而是新页面的url)

package org.jivesoftware.pmsaas.sys.domain;



import java.awt.BorderLayout;

import java.awt.event.ComponentEvent;

import java.awt.event.ComponentListener;

import java.awt.event.ContainerEvent;

import java.awt.event.ContainerListener;

import java.awt.event.FocusEvent;

import java.awt.event.FocusListener;

import java.awt.event.HierarchyBoundsListener;

import java.awt.event.HierarchyEvent;

import java.awt.event.InputMethodEvent;

import java.awt.event.InputMethodListener;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

import java.util.Hashtable;

import java.util.Map;



import javax.swing.JPanel;



import chrriis.dj.nativeswing.swtimpl.components.JWebBrowser;

import chrriis.dj.nativeswing.swtimpl.components.WebBrowserCommandEvent;

import chrriis.dj.nativeswing.swtimpl.components.WebBrowserEvent;

import chrriis.dj.nativeswing.swtimpl.components.WebBrowserListener;

import chrriis.dj.nativeswing.swtimpl.components.WebBrowserNavigationEvent;

import chrriis.dj.nativeswing.swtimpl.components.WebBrowserWindowOpeningEvent;

import chrriis.dj.nativeswing.swtimpl.components.WebBrowserWindowWillOpenEvent;





/**

 * 该类是一个浏览器类 也是面板类 该类中面板和浏览器整合为一体 ----也就是浏览器面板

 * */

public class NetBrowser extends JPanel{



	/**

	 * 

	 */

	private static final long serialVersionUID = -679703553152283868L;

		

	 	private JPanel webBrowserPanel;

	 	public static Map<String,JWebBrowser>t_jwbrowsers=new Hashtable<String, JWebBrowser>();;

	    private static JWebBrowser webBrowser;

	    



	    public NetBrowser(String url)

	    {

	         super(new BorderLayout());

	         webBrowserPanel = new JPanel(new BorderLayout());

	         webBrowser = new JWebBrowser();

	         /**

			          * native swing 官方API解释

			          * navigate

		

		public boolean navigate(String resourceLocation)

		Navigate to a resource, with its location specified as a URL or path.

		Parameters:

		resourceLocation - the URL or path.

		Returns:

		true if the navigation was successful.

	          * */

	         webBrowser.navigate(url);

	         webBrowser.setButtonBarVisible(false);

	         webBrowser.setMenuBarVisible(true);

	         webBrowser.setBarsVisible(false);

	         webBrowser.setStatusBarVisible(false);

	         

	         

	         webBrowser.addWebBrowserListener(new WebBrowserListener() {

				

				@Override

				public void windowWillOpen(WebBrowserWindowWillOpenEvent arg0) {

					JWebBrowser jwb=arg0.getNewWebBrowser();

					String location=jwb.getResourceLocation();

					System.out.println(location);

				}

				

				@Override

				public void windowOpening(WebBrowserWindowOpeningEvent arg0) {

//					JWebBrowser jwb=arg0.getNewWebBrowser();

//					String location=jwb.getResourceLocation();

//					System.out.println(location);

				}

				

				@Override

				public void windowClosing(WebBrowserEvent arg0) {

					// TODO Auto-generated method stub

					

				}

				

				@Override

				public void titleChanged(WebBrowserEvent arg0) {

					

				}

				

				@Override

				public void statusChanged(WebBrowserEvent arg0) {

					

				}

				

				@Override

				public void locationChanging(WebBrowserNavigationEvent arg0) {

					String location=arg0.getNewResourceLocation();

					System.out.println(location);

				}

				

				@Override

				public void locationChanged(WebBrowserNavigationEvent arg0) {

					// TODO Auto-generated method stub

					

				}

				

				@Override

				public void locationChangeCanceled(WebBrowserNavigationEvent arg0) {



				}

				

				@Override

				public void loadingProgressChanged(WebBrowserEvent arg0) {

					

				}

				

				@Override

				public void commandReceived(WebBrowserCommandEvent arg0) {

					

				}

			});

	         

	         

	         

	         //webBrowserPanel与webBrowser互相包含

	         webBrowserPanel.add(webBrowser, BorderLayout.CENTER);

	         add(webBrowserPanel, BorderLayout.CENTER);

	         t_jwbrowsers.put(url, webBrowser);

	        

	    }

	    

	    public static JWebBrowser getJWebBrowser(String url){

	    	return t_jwbrowsers.get(url);

	    }

		

	    

	    

	    

}

 

你可能感兴趣的:(jnative)