准备用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();