Add LocationListener to Browser : Browser « SWT « Java Tutorial






The "Location" in LocationListener refers to URLs the browser is loading.

LocationListener has two methods:

void changed(LocationEvent event)
      void changing(LocationEvent event)
  1. changed() is called after the displayed location changes
  2. 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();
  }
}








17.86.Browser
17.86.1.Using Browser to load a websiteUsing Browser to load a website
17.86.2.Browser supports the following listeners:
17.86.3.Adding StatusTextListener to BrowserAdding StatusTextListener to Browser
17.86.4.Adding ProgressListener to BrowserAdding ProgressListener to Browser
17.86.5.Using ProgressBar to display the Browser progressUsing ProgressBar to display the Browser progress
17.86.6.Add LocationListener to Browser
17.86.7.Add CloseWindowListener to Browser
17.86.8.Adding VisibilityWindowListener
17.86.9.Adding OpenWindowListener
17.86.10.Adding TitleListener to Browser
17.86.11.Browser: bring up a browser (pop-up blocker)
17.86.12.Renderer HTML in memory
17.86.13.Browser: render HTML that includes relative links from memoryBrowser: render HTML that includes relative links from memory
17.86.14.Browser: modify DOM (executing javascript)Browser: modify DOM (executing javascript)
17.86.15.Browser: query DOM node valueBrowser: query DOM node value
17.86.16.Advanced BrowserAdvanced Browser