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 2.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. ---
  2. title: Button
  3. order: 14
  4. layout: page
  5. ---
  6. [[components.button]]
  7. = [classname]#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 with a
  15. [interfacename]#Button.ClickListener# in the [methodname]#buttonClick()# method.
  16. You can handle button clicks with an anonymous class as follows:
  17. [source, java]
  18. ----
  19. Button button = new Button("Do not press this button");
  20. button.addClickListener(new Button.ClickListener() {
  21. public void buttonClick(ClickEvent event) {
  22. Notification.show("Do not press this button again");
  23. }
  24. });
  25. ----
  26. See the http://demo.vaadin.com/book-examples-vaadin7/book#component.button.basic[on-line example, window="_blank"].
  27. The result is shown in <<figure.component.button.basic>>. The listener can also
  28. be given in the constructor, which is often perhaps simpler.
  29. [[figure.component.button.basic]]
  30. .Button in Different Styles of Valo Theme
  31. image::img/button-example1.png[]
  32. If you handle several buttons in the same listener, you can differentiate
  33. between them either by comparing the [classname]#Button# object reference
  34. returned by the [methodname]#getButton()# method of
  35. [classname]#Button.ClickEvent# to a kept reference. For a detailed description
  36. of these patterns together with some examples, please see
  37. <<dummy/../../../framework/architecture/architecture-events#architecture.events,"Events
  38. and Listeners">>.
  39. == CSS Style Rules
  40. [source, css]
  41. ----
  42. .v-button { }
  43. .v-button-wrap { }
  44. .v-button-caption { }
  45. ----
  46. A button has an overall [literal]#++v-button++# style. The caption has
  47. [literal]#++v-button-caption++# style. There is also an intermediate wrap
  48. element, which may help in styling in some cases.
  49. Some built-in themes contain a small style, which you can enable by adding
  50. [parameter]#Reindeer.BUTTON_SMALL#, etc. The [classname]#BaseTheme# also has a
  51. [parameter]#BUTTON_LINK# style, which makes the button look like a hyperlink.