You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

BrowserDemo.java 2.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. /*
  2. @ITMillApache2LicenseForJavaFiles@
  3. */
  4. package com.itmill.toolkit.demo;
  5. import com.itmill.toolkit.data.Property.ValueChangeEvent;
  6. import com.itmill.toolkit.terminal.ExternalResource;
  7. import com.itmill.toolkit.ui.Embedded;
  8. import com.itmill.toolkit.ui.ExpandLayout;
  9. import com.itmill.toolkit.ui.Select;
  10. import com.itmill.toolkit.ui.Window;
  11. /**
  12. * Demonstrates the use of Embedded and "suggesting" Select by creating a simple
  13. * web-browser. Note: does not check for recursion.
  14. *
  15. * @author IT Mill Ltd.
  16. * @see com.itmill.toolkit.ui.Window
  17. */
  18. public class BrowserDemo extends com.itmill.toolkit.Application implements
  19. Select.ValueChangeListener {
  20. // Default URL to open.
  21. private static final String DEFAULT_URL = "http://www.itmill.com";
  22. // The embedded page
  23. Embedded emb = new Embedded();
  24. public void init() {
  25. // Create and set main window
  26. final Window browser = new Window("IT Mill Browser");
  27. setMainWindow(browser);
  28. // Use the expand layout to allow one component to use as much
  29. // space as
  30. // possible.
  31. final ExpandLayout exl = new ExpandLayout();
  32. browser.setLayout(exl);
  33. exl.setSizeFull();
  34. // create the address combobox
  35. final Select select = new Select();
  36. // allow input
  37. select.setNewItemsAllowed(true);
  38. // no empty selection
  39. select.setNullSelectionAllowed(false);
  40. // no 'go' -button clicking necessary
  41. select.setImmediate(true);
  42. // add some pre-configured URLs
  43. select.addItem(DEFAULT_URL);
  44. select.addItem("http://www.google.com");
  45. select.addItem("http://toolkit.itmill.com/demo");
  46. // add to layout
  47. exl.addComponent(select);
  48. // add listener and select initial URL
  49. select.addListener(this);
  50. select.setValue(DEFAULT_URL);
  51. // configure the embedded and add to layout
  52. emb.setType(Embedded.TYPE_BROWSER);
  53. exl.addComponent(emb);
  54. // make the embedded as large as possible
  55. exl.expand(emb);
  56. }
  57. public void valueChange(ValueChangeEvent event) {
  58. final String url = (String) event.getProperty().getValue();
  59. if (url != null) {
  60. // the selected url has changed, let's go there
  61. emb.setSource(new ExternalResource(url));
  62. }
  63. }
  64. }