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.

components-button.asciidoc 1.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. ---
  2. title: Button
  3. order: 14
  4. layout: page
  5. ---
  6. [[components.button]]
  7. = Button
  8. ifdef::web[]
  9. [.sampler]
  10. image:{live-demo-image}[alt="Live Demo", link="http://demo.vaadin.com/sampler/#ui/interaction/button"]
  11. endif::web[]
  12. The [classname]#Button# component is normally used for initiating some action,
  13. such as finalizing input in forms. When the user clicks a button, a
  14. [classname]#Button.ClickEvent# is fired, which can be handled by adding a __click listener__
  15. using either the [methodname]#onClick()# or the [methodname]#addClickListener()# method.
  16. [[figure.component.button.basic]]
  17. .A [classname]#Button#
  18. image::img/button-example1.png[width=35%, scaledwidth=60%]
  19. You can handle button clicks most easily with an anonymous class or a lambda expression, as follows:
  20. [source, java]
  21. ----
  22. Button button = new Button("Do not press this button");
  23. button.addClickListener(clickEvent ->
  24. Notification.show("Do not press this button again"));
  25. ----
  26. The listener can also be given in the constructor, which is often perhaps simpler.
  27. == CSS Style Rules
  28. [source, css]
  29. ----
  30. .v-button { }
  31. .v-button-wrap { }
  32. .v-button-caption { }
  33. ----
  34. A button has an overall [literal]#++v-button++# style. The caption has
  35. [literal]#++v-button-caption++# style. There is also an intermediate wrap
  36. element, which may help in styling in some cases.
  37. The button component has many style variants in the Valo theme, as illustrated in <<figure.component.button.valostyles>>.
  38. The styles are defined in the [classname]#ValoTheme# class.
  39. [[figure.component.button.valostyles]]
  40. .Button in different styles of the Valo theme
  41. image::img/button-valo-styles.png[width=70%, scaledwidth=100%]