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.

package.html 2.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
  2. <html>
  3. <head>
  4. </head>
  5. <body bgcolor="white">
  6. <!-- Package summary here -->
  7. <p>Provides interfaces and classes in the the MillStone UI component library.</p>
  8. <h2>Package Specification</h2>
  9. <p><strong>Interface hierarchy</strong></p>
  10. <p>The general interface hierarchy looks like this:</p>
  11. <p style="text-align: center;><img src="doc-files/component_interfaces.gif"/> </p>
  12. <p><i>Note that the above picture includes only the main interfaces. This
  13. package includes several other lesser subinterfaces which are not
  14. significant in this scope. The interfaces not appearing here are documented
  15. with the classes that define them.</i></p>
  16. <p>The {@link com.itmill.toolkit.ui.Component} interface is the top-level
  17. interface which must be implemented by all UI components. It defines the
  18. common properties of the components and how the framework will handle
  19. them. Most simple components (like {@link com.itmill.toolkit.ui.Button} for
  20. example} won't need to implement the lower level interfaces described
  21. below. Note that the classes and interfaces required by the component event
  22. framework are defined in {@link com.itmill.toolkit.ui.Component}.</p>
  23. <p>The next level in the component hierarchy are the classes implementing
  24. the {@link com.itmill.toolkit.ui.ComponentContainer} interface. It adds the
  25. capacity to contain other components to
  26. {@link com.itmill.toolkit.ui.Component} with a simple API.</p>
  27. <p>The third and last level is the {@link com.itmill.toolkit.ui.Layout},
  28. which adds the concept of location to the components contained in a
  29. {@link com.itmill.toolkit.ui.ComponentContainer}. It can be used to create
  30. containers whose contents can be positioned arbitrarily.</p>
  31. <p><strong>Component class hierarchy</strong></p>
  32. <p>The actual component classes form a hierarchy like this:</p>
  33. <center><img src="doc-files/component_class_hierarchy.gif"/></center><br/>
  34. <center><i>Underlined classes are abstract.</i></center>
  35. <p>At the top level is {@link com.itmill.toolkit.ui.AbstractComponent}
  36. which implements the {@link com.itmill.toolkit.ui.Component} interface. As
  37. the name suggests it is abstract, but it does include a default
  38. implementation for all methods defined in <code>Component</code> so that
  39. a component is free to override only those functionalities it needs.</p>
  40. <p>As seen in the picture, <code>AbstractComponent</code> serves as the
  41. superclass for several "real" components, but it also has a some abstract
  42. extensions. {@link com.itmill.toolkit.ui.AbstractComponentContainer} serves
  43. as the root class for all components (for example, panels and windows) who
  44. can contain other components. {@link com.itmill.toolkit.ui.AbstractField},
  45. on the other hand, implements several interfaces to provide a base class for
  46. components that are used for data display and manipulation.</p>
  47. <!-- Package spec here -->
  48. <!-- Put @see and @since tags down here. -->
  49. </body>
  50. </html>