Oat Button Demo
Buttons in Oat are styled from native <button> or <a class="button"> elements. ButtonBehavior automatically handles these.
Variants
Styles
Sizes
Icon Style
The OatButton Component
Same result, built via the OatButton.onClick(...) factory instead of a plain Link + ButtonBehavior.
How to use
You can use the OatButton component for a simple button, or attach ButtonBehavior to any existing component with Oat.Behaviors.button().
// Java - An OatButton running a lambda on click, without a subclass
add(OatButton.onClick("myButton", "Click me", target -> {
// handle click
}));
// Java - ButtonBehavior on a Link
link.add(Oat.Behaviors.button()
.setVariant(OatVariant.SECONDARY)
.setStyle(ButtonBehavior.Style.OUTLINE)
.setSize(ButtonBehavior.Size.SMALL));
// Java - A submit button for a form
form.add(OatSubmitButton.onSubmit("save", "Save",
target -> success("Saved."), // the form is valid
target -> target.add(form))); // show the validation errors
<!-- HTML - OatButton renders its label as the tag's text; <a> or <button> -->
<a wicket:id="myButton"></a>
<a wicket:id="link">Click me</a>