您的位置:首页 > 其它

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

2013-03-20 16:02 316 查看
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);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: