Adding TitleListener to Browser : Browser « SWT « Java Tutorial






/*******************************************************************************
 * Copyright (c) 2000, 2004 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/

/*
 * Browser example snippet: modify HTML title tag
 * 
 * For a list of all SWT example snippets see
 * http://www.eclipse.org/swt/snippets/
 * 
 * @since 3.1
 */
import org.eclipse.swt.SWT;
import org.eclipse.swt.browser.Browser;
import org.eclipse.swt.browser.ProgressEvent;
import org.eclipse.swt.browser.ProgressListener;
import org.eclipse.swt.browser.TitleEvent;
import org.eclipse.swt.browser.TitleListener;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class HTMLTagModify {
  public static void main(String[] args) {
    final String newTitle = "New Value for Title";
    Display display = new Display();
    final Shell shell = new Shell(display);
    shell.setLayout(new FillLayout());
    final Browser browser = new Browser(shell, SWT.NONE);
    browser.addTitleListener(new TitleListener() {
      public void changed(TitleEvent event) {
        System.out.println("TitleEvent: " + event.title);
        shell.setText(event.title);
      }
    });
    browser.addProgressListener(new ProgressListener() {
      public void changed(ProgressEvent event) {
      }

      public void completed(ProgressEvent event) {
        /* Set HTML title tag using JavaScript and DOM when page has been loaded */
        boolean result = browser.execute("document.title='" + newTitle + "'");
        if (!result) {
          /* Script may fail or may not be supported on certain platforms. */
          System.out.println("Script was not executed.");
        }
      }
    });
    /* Load an HTML document */
    browser.setUrl("http://www.eclipse.org");
    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