JWebBrowser如何获取窗口单点事件

Fancett 2018-01-31 11:26:29
用JWebBrowser打开一个链接,然后在窗口中单点打开一个新窗口,新窗口不是全屏的,全屏之后后有部分被遮挡需要手动刷新一次才好。有没有办法是新窗口直接全屏。或者我能获取第一次打开窗口中的单点事件(现在不能获取到第一个页面中的操作事件)

用JWebBrowser打开一个链接代码:
String title = vo.getSssxmc();
this.setTitle(title);
if (StringUtils.isNotBlank(url)) {
this.action = vo.getGnid();
this.obj = obj;
webBrowser = new JWebBrowser();
webBrowser.setBarsVisible(false);
webBrowser.setBounds(0, 0, 0, 0);
webBrowser.setPreferredSize(new Dimension(800, 700));
webBrowser.addWebBrowserListener(new WebBrowserAdapter() {
public void loadingProgressChanged(WebBrowserEvent e) {
if (e.getWebBrowser().getLoadingProgress() == 100) {
logger.info("页面装载完毕!");
CardLayout cd = (CardLayout) WbWebFrame.this
.getContentPane().getLayout();
cd.show(WbWebFrame.this.getContentPane(),
"webbrowser");
logger.info("connectDzswjByUrl 页面加载结束 ");
}
}
public void windowClosing(
WebBrowserEvent webbrowserevent) {
WbWebFrame.this.dispose();
}
// 监听js事件
public void commandReceived(WebBrowserCommandEvent e) {
String command = e.getCommand();
Object[] parameters = e.getParameters();
logger.info("CommandReceived: param:"
+ Arrays.toString(parameters));
if (parameters != null && parameters.length > 0) {
WsWbEnter.enterWsWB(WbWebFrame.this, command,
parameters);
}
}
@Override
public void locationChanged(WebBrowserNavigationEvent e) {
String urlStr=e.getWebBrowser().getResourceLocation();
if(urlStr!=null&&urlStr.contains("etax/login.html"))
{
logger.error("链接超时,提示用户重新登录!");
WbWebFrame.this.setVisible(false);
WbWebFrame.this.dispose();
JCMessageBox.createInformationMessageBox(EtpApp.etpApp.getMainFrame(),"提醒","该功能已超时,请重新登录客户端!").open();
return;
}
}
});
webBrowser.navigate(url);
this.add(webBrowser, "webbrowser");
} else {
loadlb.setIcon(null);
loadlb.setText("获取链接地址失败!");
}
...全文
487 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧