In order to receive notification of user-directed changes to the current history item, implement the HistoryListener interface and attach it via addHistoryListener.
public class HistoryExample implements EntryPoint, HistoryListener { private Label lbl = new Label(); public void onModuleLoad() { // Create three hyperlinks that change the application's history. Hyperlink link0 = new Hyperlink("link to foo", "foo"); Hyperlink link1 = new Hyperlink("link to bar", "bar"); Hyperlink link2 = new Hyperlink("link to baz", "baz"); // If the application starts with no history token, start it off in the // 'baz' state. String initToken = History.getToken(); if (initToken.length() == 0) initToken = "baz"; // onHistoryChanged() is not called when the application first runs. Call // it now in order to reflect the initial state. onHistoryChanged(initToken); // Add widgets to the root panel. VerticalPanel panel = new VerticalPanel(); panel.add(lbl); panel.add(link0); panel.add(link1); panel.add(link2); RootPanel.get().add(panel); // Add history listener History.addHistoryListener(this); } public void onHistoryChanged(String historyToken) { // This method is called whenever the application's history changes. Set // the label to reflect the current history token. lbl.setText("The current history token is: " + historyToken); } }
addHistoryListener(HistoryListener) | Adds a listener to be informed of changes to the browser's history stack. |
back() | Programmatic equivalent to the user pressing the browser's 'back' button. |
forward() | Programmatic equivalent to the user pressing the browser's 'forward' button. |
getToken() | Gets the current history token. |
newItem(String) | Adds a new browser history entry. |
onHistoryChanged(String) | |
removeHistoryListener(HistoryListener) | Removes a history listener. |