The "Location" in LocationListener refers to URLs the browser is loading.
LocationListener has two methods:
void changed(LocationEvent event)
void changing(LocationEvent event)
- changed() is called after the displayed location changes
- changing() is called when a location change has been requested
LocationEvent has two fields:
boolean cancel
String location
You can set cancel to true in your changing() method to cancel the loading.
import org.eclipse.swt.SWT;
import org.eclipse.swt.browser.Browser;
import org.eclipse.swt.browser.LocationEvent;
import org.eclipse.swt.browser.LocationListener;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class BrowserLocationListener {
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
Browser browser = new Browser(shell, SWT.NONE);
browser.setBounds(5,5,600,600);
browser.addLocationListener(new LocationListener() {
public void changed(LocationEvent event) {
if (event.top)
System.out.println(event.location);
}
public void changing(LocationEvent event) {
}
});
browser.setUrl("http://java2s.com");
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}