17. 86. 6. Add LocationListener to Browser |
|
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();
}
}
|
|