zoukankan      html  css  js  c++  java
  • 利用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);
    	    }
    		
    	    
    	    
    	    
    }
    
    I'm falling off the sky all alone.The courage inside is gonna break the fall. Nothing can dim my light within. I am That I am 程序 = 数据结构 + 算法
  • 相关阅读:
    670. Maximum Swap
    653. Two Sum IV
    639. Decode Ways II
    636. Exclusive Time of Functions
    621. Task Scheduler
    572. Subtree of Another Tree
    554. Brick Wall
    543. Diameter of Binary Tree
    535. Encode and Decode TinyURL
    博客园自定义背景图片
  • 原文地址:https://www.cnblogs.com/IamThat/p/2971350.html
Copyright © 2011-2022 走看看