java swt browser关闭,问一个关于 SWT browser 的有关问题

当前位置:我的异常网» Eclipse » 问一个关于 SWT browser 的有关问题

问一个关于 SWT browser 的有关问题

www.myexceptions.net  网友分享于:2013-01-27  浏览:151次

问一个关于 SWT browser 的问题

准备用SWT boowser 做一个简易的浏览器。不过在下面的代码中,当用这个浏览器浏览页面,点击链接后,弹出的页面会自动变成系统默认的IE浏览器,请教下怎么才能还是用这个浏览器打开

这个是主程序:

package Basic;

import org.eclipse.swt.SWT;

import org.eclipse.swt.browser.Browser;

import org.eclipse.swt.layout.FillLayout;

import org.eclipse.swt.widgets.Display;

import org.eclipse.swt.widgets.Menu;

import org.eclipse.swt.widgets.Shell;

import Basic.MenuComposite;

import Basic.BrowserTest3;

public class AllComposite

{

public static void main(String args[])

{

Display display=new Display();

Shell shell=new Shell(display);

MenuComposite menu=new MenuComposite();

BrowserTest3 bt3=new BrowserTest3();

Menu menu1=menu.MenuComposite(shell);

Browser browser =new Browser(shell, SWT.NONE);

bt3.initialize(display, browser);

browser.setUrl("http://www.baidu.com");

shell.setLayout(new FillLayout());

shell.open();

while (!shell.isDisposed()) {

if (!display.readAndDispatch())

display.sleep();

}

display.dispose();

}

}

这个是浏览器程序

package Basic;

import org.eclipse.swt.*;

import org.eclipse.swt.widgets.*;

import org.eclipse.swt.graphics.*;

import org.eclipse.swt.layout.*;

import org.eclipse.swt.browser.*;

public class BrowserTest3

{

public static void main(String[] args) {

Display display = new Display();

Shell shell =new Shell(display);

shell.setLayout(new FillLayout());

Browser browser =new Browser(shell, SWT.NONE);

initialize(display, browser);

shell.open();

/* any website with popups */

browser.setUrl("http://10.66.1.9");

while (!shell.isDisposed()) {

if (!display.readAndDispatch())

display.sleep();

}

display.dispose();

}

static void initialize(final Display display, Browser browser)

{

browser.addOpenWindowListener(new OpenWindowListener()

{

public void open(WindowEvent event)

{

Shell shell =new Shell(display);

// shell.setText("New Window");

MenuComposite menu=new MenuComposite();

BrowserTest3 bt3=new BrowserTest3();

Menu menu1=menu.MenuComposite(shell);

Browser browser =new Browser(shell, SWT.NONE);

bt3.initialize(display,browser);

event.browser =browser;

}

}

);

browser.addVisibilityWindowListener(new VisibilityWindowListener() {

public void hide(WindowEvent event) {

Browser browser =(Browser)event.widget;

Shell shell = browser.getShell();

shell.setVisible(false);

}

public void show(WindowEvent event) {

Browser browser = (Browser)event.widget;

final Shell shell = browser.getShell();

/* popup blocker - ignore window= s with no style */

if (!event.addressBar && !event.menuBar==!event.statusBar && !event.toolBar) {

System.out.println("Popup blocked.");

event.display.asyncExec(new Runnable() {

public void run() {

shell.close();

;}

});

return;

}

if (event.location != null) shell.setLocation(event.location);

if (event.size !=null) {

Point size = event.size;

shell.setSize(shell.computeSize(size.x, size.y));

}

shell.open();

文章评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值